/* ============================================================================
   Gutenberg Block Styles - KAL School Manager
   Brand Colors: Primary #800080 (Purple) | Secondary #008000 (Green)
   
   IMPORTANT: These styles add DECORATIVE ELEMENTS ONLY
   - Colors, borders, backgrounds, accents, shadows, etc.
   - They should NEVER change font-size, font-weight, or line-height
   - Heading sizes are defined in style.css and theme.json
   - Use "inherit !important" to preserve natural heading sizes
   ============================================================================ */

/* ============================================================================
   CARD STYLES (core/group)
   ============================================================================ */

.wp-block-group.is-style-kal-card-primary {
  border: 1px solid #800080;
  border-radius: 8px;
  padding: 24px;
  background: linear-gradient(135deg, #f9f5fb 0%, #ffffff 100%);
  box-shadow: 0 4px 6px rgba(128, 0, 128, 0.1), 0 1px 3px rgba(128, 0, 128, 0.08);
  transition: all 0.3s ease;
}

.wp-block-group.is-style-kal-card-primary:hover {
  box-shadow: 0 12px 16px rgba(128, 0, 128, 0.15), 0 3px 6px rgba(128, 0, 128, 0.1);
  transform: translateY(-2px);
}

.wp-block-group.is-style-kal-card-secondary {
  border: 1px solid #008000;
  border-radius: 8px;
  padding: 24px;
  background: linear-gradient(135deg, #f1f9f1 0%, #ffffff 100%);
  box-shadow: 0 4px 6px rgba(0, 128, 0, 0.1), 0 1px 3px rgba(0, 128, 0, 0.08);
  transition: all 0.3s ease;
}

.wp-block-group.is-style-kal-card-secondary:hover {
  box-shadow: 0 12px 16px rgba(0, 128, 0, 0.15), 0 3px 6px rgba(0, 128, 0, 0.1);
  transform: translateY(-2px);
}

.wp-block-group.is-style-kal-card-outline-primary {
  border: 2px solid #800080;
  border-radius: 8px;
  padding: 24px;
  background: transparent;
  transition: all 0.3s ease;
}

.wp-block-group.is-style-kal-card-outline-primary:hover {
  background: rgba(128, 0, 128, 0.02);
  border-color: #620055;
}

.wp-block-group.is-style-kal-card-outline-secondary {
  border: 2px solid #008000;
  border-radius: 8px;
  padding: 24px;
  background: transparent;
  transition: all 0.3s ease;
}

.wp-block-group.is-style-kal-card-outline-secondary:hover {
  background: rgba(0, 128, 0, 0.02);
  border-color: #004e05;
}

/* ============================================================================
   LIST STYLES (core/list)
   ============================================================================ */

.wp-block-list.is-style-kal-list-primary {
  list-style: none;
  padding-left: 0;
}

.wp-block-list.is-style-kal-list-primary li {
  padding-left: 28px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-list-primary li:before {
  content: '●';
  color: #800080;
  font-size: 20px;
  position: absolute;
  left: 0;
  top: -2px;
  font-weight: bold;
}

.wp-block-list.is-style-kal-list-secondary {
  list-style: none;
  padding-left: 0;
}

.wp-block-list.is-style-kal-list-secondary li {
  padding-left: 28px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-list-secondary li:before {
  content: '●';
  color: #008000;
  font-size: 20px;
  position: absolute;
  left: 0;
  top: -2px;
  font-weight: bold;
}

.wp-block-list.is-style-kal-list-checkmark-primary {
  list-style: none;
  padding-left: 0;
}

.wp-block-list.is-style-kal-list-checkmark-primary li {
  padding-left: 32px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-list-checkmark-primary li:before {
  content: '✓';
  color: #800080;
  font-size: 18px;
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
}

.wp-block-list.is-style-kal-list-checkmark-secondary {
  list-style: none;
  padding-left: 0;
}

.wp-block-list.is-style-kal-list-checkmark-secondary li {
  padding-left: 32px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-list-checkmark-secondary li:before {
  content: '✓';
  color: #008000;
  font-size: 18px;
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
}

/* ============================================================================
   TABLE STYLES (core/table)
   ============================================================================ */

.wp-block-table.is-style-kal-table-striped-primary {
  width: 100%;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(128, 0, 128, 0.1);
}

.wp-block-table.is-style-kal-table-striped-primary table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table.is-style-kal-table-striped-primary th {
  background-color: #800080;
  color: white;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
}

.wp-block-table.is-style-kal-table-striped-primary tbody tr:nth-child(even) {
  background-color: #f9f5fb;
}

.wp-block-table.is-style-kal-table-striped-primary td {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e3f0;
}

.wp-block-table.is-style-kal-table-striped-secondary {
  width: 100%;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 128, 0, 0.1);
}

.wp-block-table.is-style-kal-table-striped-secondary table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table.is-style-kal-table-striped-secondary th {
  background-color: #008000;
  color: white;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
}

.wp-block-table.is-style-kal-table-striped-secondary tbody tr:nth-child(even) {
  background-color: #f1f9f1;
}

.wp-block-table.is-style-kal-table-striped-secondary td {
  padding: 12px 16px;
  border-bottom: 1px solid #dce8dc;
}

.wp-block-table.is-style-kal-table-header-primary {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table.is-style-kal-table-header-primary th {
  background: linear-gradient(135deg, #800080 0%, #620055 100%);
  color: white;
  padding: 14px 16px;
  text-align: left;
  font-weight: 700;
  border-bottom: 3px solid #800080;
}

.wp-block-table.is-style-kal-table-header-primary td {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e3f0;
}

.wp-block-table.is-style-kal-table-header-secondary {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table.is-style-kal-table-header-secondary th {
  background: linear-gradient(135deg, #008000 0%, #004e05 100%);
  color: white;
  padding: 14px 16px;
  text-align: left;
  font-weight: 700;
  border-bottom: 3px solid #008000;
}

.wp-block-table.is-style-kal-table-header-secondary td {
  padding: 12px 16px;
  border-bottom: 1px solid #dce8dc;
}

/* ============================================================================
   ACCORDION STYLES (core/details)
   ============================================================================ */

.wp-block-details.is-style-kal-accordion-primary {
  border: 1px solid #800080;
  border-radius: 6px;
  margin-bottom: 12px;
  margin-top: 16px;
  overflow: hidden;
}

.wp-block-details.is-style-kal-accordion-primary > summary {
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  padding: 8px 16px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  font-family: "Noto Serif", serif;
  text-align: center;
  font-size: 1.3em;
  position: relative;
}

.wp-block-details.is-style-kal-accordion-primary > summary:hover {
  background: linear-gradient(135deg, #9a1998 0%, #b3219a 100%);
}

.wp-block-details.is-style-kal-accordion-primary > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details.is-style-kal-accordion-primary > summary::before {
  content: '▶';
  display: inline-block;
  margin-right: 12px;
  transition: transform 0.3s ease;
  font-size: 0.9em;
  position: absolute;
  left: 16px;
}

.wp-block-details.is-style-kal-accordion-primary[open] > summary::before {
  transform: rotate(90deg);
}

.wp-block-details.is-style-kal-accordion-primary > *:not(summary) {
  padding: 16px;
  background-color: #fafafa;
  border-top: 1px solid #f0f0f0;
  font-family: "Noto Sans", sans-serif;
}

.wp-block-details.is-style-kal-accordion-secondary {
  border: 1px solid #008000;
  border-radius: 6px;
  margin-bottom: 12px;
  margin-top: 16px;
  overflow: hidden;
}

.wp-block-details.is-style-kal-accordion-secondary > summary {
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  padding: 8px 16px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  font-family: "Noto Serif", serif;
  text-align: center;
  font-size: 1.3em;
  position: relative;
}

.wp-block-details.is-style-kal-accordion-secondary > summary:hover {
  background: linear-gradient(135deg, #00a010 0%, #00c412 100%);
}

.wp-block-details.is-style-kal-accordion-secondary > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details.is-style-kal-accordion-secondary > summary::before {
  content: '▶';
  display: inline-block;
  margin-right: 12px;
  transition: transform 0.3s ease;
  font-size: 0.9em;
  position: absolute;
  left: 16px;
}

.wp-block-details.is-style-kal-accordion-secondary[open] > summary::before {
  transform: rotate(90deg);
}

.wp-block-details.is-style-kal-accordion-secondary > *:not(summary) {
  padding: 16px;
  background-color: #fafafa;
  border-top: 1px solid #f0f0f0;
  font-family: "Noto Sans", sans-serif;
}

/* ============================================================================
   TABS STYLES (core/tabs) - For future use if tabs block becomes available
   ============================================================================ */

.wp-block-tabs.is-style-kal-tabs-primary .wp-block-tabs__tabs-list {
  border-bottom: 2px solid #800080;
  display: flex;
  gap: 0;
}

.wp-block-tabs.is-style-kal-tabs-primary .wp-block-tabs__tab-button {
  padding: 12px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: #666;
  font-weight: 500;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
}

.wp-block-tabs.is-style-kal-tabs-primary .wp-block-tabs__tab-button.active {
  color: #800080;
  border-bottom-color: #800080;
  background: rgba(128, 0, 128, 0.04);
}

.wp-block-tabs.is-style-kal-tabs-primary .wp-block-tabs__tab-button:hover {
  color: #800080;
}

.wp-block-tabs.is-style-kal-tabs-primary .wp-block-tabs__tab-content {
  padding: 20px;
  background-color: #f9f5fb;
}

.wp-block-tabs.is-style-kal-tabs-secondary .wp-block-tabs__tabs-list {
  border-bottom: 2px solid #008000;
  display: flex;
  gap: 0;
}

.wp-block-tabs.is-style-kal-tabs-secondary .wp-block-tabs__tab-button {
  padding: 12px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: #666;
  font-weight: 500;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
}

.wp-block-tabs.is-style-kal-tabs-secondary .wp-block-tabs__tab-button.active {
  color: #008000;
  border-bottom-color: #008000;
  background: rgba(0, 128, 0, 0.04);
}

.wp-block-tabs.is-style-kal-tabs-secondary .wp-block-tabs__tab-button:hover {
  color: #008000;
}

.wp-block-tabs.is-style-kal-tabs-secondary .wp-block-tabs__tab-content {
  padding: 20px;
  background-color: #f1f9f1;
}

/* ============================================================================
   QUOTE STYLES (core/quote)
   ============================================================================ */

.wp-block-quote.is-style-kal-quote-primary {
  border-left: 5px solid #800080;
  padding-left: 20px;
  margin-left: 0;
  font-style: italic;
  color: #333;
  font-size: 1.1em;
  line-height: 1.6;
}

.wp-block-quote.is-style-kal-quote-primary p {
  margin: 8px 0;
}

.wp-block-quote.is-style-kal-quote-primary cite {
  font-style: normal;
  color: #800080;
  font-weight: 600;
  margin-top: 12px;
  display: block;
}

.wp-block-quote.is-style-kal-quote-secondary {
  border-left: 5px solid #008000;
  padding-left: 20px;
  margin-left: 0;
  font-style: italic;
  color: #333;
  font-size: 1.1em;
  line-height: 1.6;
}

.wp-block-quote.is-style-kal-quote-secondary p {
  margin: 8px 0;
}

.wp-block-quote.is-style-kal-quote-secondary cite {
  font-style: normal;
  color: #008000;
  font-weight: 600;
  margin-top: 12px;
  display: block;
}

.wp-block-quote.is-style-kal-quote-primary-bg {
  background: linear-gradient(135deg, #f9f5fb 0%, #ede8f3 100%);
  border-left: 5px solid #800080;
  padding: 9.6px;
  border-radius: 6px;
  font-style: italic;
  color: #333;
  font-size: 1.1em;
  line-height: 1.6;
  margin: 1.5em 0;
}

.wp-block-quote.is-style-kal-quote-primary-bg p {
  margin: 8px 0;
}

.wp-block-quote.is-style-kal-quote-primary-bg cite {
  font-style: normal;
  color: #800080;
  font-weight: 600;
  margin-top: 12px;
  display: block;
}

.wp-block-quote.is-style-kal-quote-secondary-bg {
  background: linear-gradient(135deg, #f1f9f1 0%, #e8f0e8 100%);
  border-left: 5px solid #008000;
  padding: 9.6px;
  border-radius: 6px;
  font-style: italic;
  color: #333;
  font-size: 1.1em;
  line-height: 1.6;
  margin: 1.5em 0;
}

.wp-block-quote.is-style-kal-quote-secondary-bg p {
  margin: 8px 0;
}

.wp-block-quote.is-style-kal-quote-secondary-bg cite {
  font-style: normal;
  color: #008000;
  font-weight: 600;
  margin-top: 12px;
  display: block;
}

/* ============================================================================
   ALERT/NOTICE STYLES (core/group)
   ============================================================================ */

.wp-block-group.is-style-kal-alert-success {
  border-left: 4px solid #008000;
  background: linear-gradient(135deg, #f1f9f1 0%, #e8f5e8 100%);
  padding: 16px 20px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 128, 0, 0.1);
  margin: 16px 0;
}

.wp-block-group.is-style-kal-alert-info {
  border-left: 4px solid #800080;
  background: linear-gradient(135deg, #f9f5fb 0%, #f0ebf5 100%);
  padding: 16px 20px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(128, 0, 128, 0.1);
  margin: 16px 0;
}

.wp-block-group.is-style-kal-alert-warning {
  border-left: 4px solid #ff9800;
  background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
  padding: 16px 20px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(255, 152, 0, 0.1);
  margin: 16px 0;
}

.wp-block-group.is-style-kal-alert-danger {
  border-left: 4px solid #d32f2f;
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);
  padding: 16px 20px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(211, 47, 47, 0.1);
  margin: 16px 0;
}

/* ============================================================================
   BUTTON STYLES (core/button)
   ============================================================================ */

.wp-block-button.is-style-kal-button-primary {
  margin: 1.5em 0;
}

/* Reduce margin when button comes after a heading */
h1 + .wp-block-button.is-style-kal-button-primary,
h2 + .wp-block-button.is-style-kal-button-primary,
h3 + .wp-block-button.is-style-kal-button-primary,
h4 + .wp-block-button.is-style-kal-button-primary,
h5 + .wp-block-button.is-style-kal-button-primary,
h6 + .wp-block-button.is-style-kal-button-primary {
  margin-top: 0.5em;
}

/* Reduce margin when heading comes after button */
.wp-block-button.is-style-kal-button-primary + h1,
.wp-block-button.is-style-kal-button-primary + h2,
.wp-block-button.is-style-kal-button-primary + h3,
.wp-block-button.is-style-kal-button-primary + h4,
.wp-block-button.is-style-kal-button-primary + h5,
.wp-block-button.is-style-kal-button-primary + h6 {
  margin-top: 0.5em;
}

.wp-block-button.is-style-kal-button-primary .wp-block-button__link {
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  border: none;
  border-radius: 6px;
  padding: 9.6px 28px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(128, 0, 128, 0.2);
}

.wp-block-button.is-style-kal-button-primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, #9a1998 0%, #b3219a 100%);
  box-shadow: 0 6px 12px rgba(128, 0, 128, 0.3);
  transform: translateY(-2px);
}

.wp-block-button.is-style-kal-button-secondary {
  margin: 1.5em 0;
}

/* Reduce margin when button comes after a heading */
h1 + .wp-block-button.is-style-kal-button-secondary,
h2 + .wp-block-button.is-style-kal-button-secondary,
h3 + .wp-block-button.is-style-kal-button-secondary,
h4 + .wp-block-button.is-style-kal-button-secondary,
h5 + .wp-block-button.is-style-kal-button-secondary,
h6 + .wp-block-button.is-style-kal-button-secondary {
  margin-top: 0.5em;
}

/* Reduce margin when heading comes after button */
.wp-block-button.is-style-kal-button-secondary + h1,
.wp-block-button.is-style-kal-button-secondary + h2,
.wp-block-button.is-style-kal-button-secondary + h3,
.wp-block-button.is-style-kal-button-secondary + h4,
.wp-block-button.is-style-kal-button-secondary + h5,
.wp-block-button.is-style-kal-button-secondary + h6 {
  margin-top: 0.5em;
}

.wp-block-button.is-style-kal-button-secondary .wp-block-button__link {
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  border: none;
  border-radius: 6px;
  padding: 9.6px 28px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0, 128, 0, 0.2);
}

.wp-block-button.is-style-kal-button-secondary .wp-block-button__link:hover {
  background: linear-gradient(135deg, #00a010 0%, #00c412 100%);
  box-shadow: 0 6px 12px rgba(0, 128, 0, 0.3);
  transform: translateY(-2px);
}

.wp-block-button.is-style-kal-button-outline-primary {
  margin: 1.5em 0;
}

/* Reduce margin when button comes after a heading */
h1 + .wp-block-button.is-style-kal-button-outline-primary,
h2 + .wp-block-button.is-style-kal-button-outline-primary,
h3 + .wp-block-button.is-style-kal-button-outline-primary,
h4 + .wp-block-button.is-style-kal-button-outline-primary,
h5 + .wp-block-button.is-style-kal-button-outline-primary,
h6 + .wp-block-button.is-style-kal-button-outline-primary {
  margin-top: 0.5em;
}

/* Reduce margin when heading comes after button */
.wp-block-button.is-style-kal-button-outline-primary + h1,
.wp-block-button.is-style-kal-button-outline-primary + h2,
.wp-block-button.is-style-kal-button-outline-primary + h3,
.wp-block-button.is-style-kal-button-outline-primary + h4,
.wp-block-button.is-style-kal-button-outline-primary + h5,
.wp-block-button.is-style-kal-button-outline-primary + h6 {
  margin-top: 0.5em;
}

.wp-block-button.is-style-kal-button-outline-primary .wp-block-button__link {
  background: transparent;
  color: #800080;
  border: 2px solid #800080;
  border-radius: 6px;
  padding: 8px 26px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.wp-block-button.is-style-kal-button-outline-primary .wp-block-button__link:hover {
  background: #800080;
  color: white;
  box-shadow: 0 4px 8px rgba(128, 0, 128, 0.2);
}

.wp-block-button.is-style-kal-button-outline-secondary {
  margin: 1.5em 0;
}

/* Reduce margin when button comes after a heading */
h1 + .wp-block-button.is-style-kal-button-outline-secondary,
h2 + .wp-block-button.is-style-kal-button-outline-secondary,
h3 + .wp-block-button.is-style-kal-button-outline-secondary,
h4 + .wp-block-button.is-style-kal-button-outline-secondary,
h5 + .wp-block-button.is-style-kal-button-outline-secondary,
h6 + .wp-block-button.is-style-kal-button-outline-secondary {
  margin-top: 0.5em;
}

/* Reduce margin when heading comes after button */
.wp-block-button.is-style-kal-button-outline-secondary + h1,
.wp-block-button.is-style-kal-button-outline-secondary + h2,
.wp-block-button.is-style-kal-button-outline-secondary + h3,
.wp-block-button.is-style-kal-button-outline-secondary + h4,
.wp-block-button.is-style-kal-button-outline-secondary + h5,
.wp-block-button.is-style-kal-button-outline-secondary + h6 {
  margin-top: 0.5em;
}

.wp-block-button.is-style-kal-button-outline-secondary .wp-block-button__link {
  background: transparent;
  color: #008000;
  border: 2px solid #008000;
  border-radius: 6px;
  padding: 8px 26px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.wp-block-button.is-style-kal-button-outline-secondary .wp-block-button__link:hover {
  background: #008000;
  color: white;
  box-shadow: 0 4px 8px rgba(0, 128, 0, 0.2);
}

/* ============================================================================
   HEADING STYLES (core/heading)
   ============================================================================ */

.wp-block-heading.is-style-kal-heading-primary-underline {
  padding-bottom: 12px;
  border-bottom: 3px solid #800080;
  margin-bottom: 20px;
  color: #800080;
}

.wp-block-heading.is-style-kal-heading-secondary-underline {
  padding-bottom: 12px;
  border-bottom: 3px solid #008000;
  margin-bottom: 20px;
  color: #008000;
}

.wp-block-heading.is-style-kal-heading-primary-accent {
  /* Font size, weight, and line-height inherit from parent heading styles */
}

.wp-block-heading.is-style-kal-heading-primary-accent::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 1em;
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  margin-right: 12px;
  vertical-align: middle;
}

.wp-block-heading.is-style-kal-heading-secondary-accent {
  /* Font size, weight, and line-height inherit from parent heading styles */
}

.wp-block-heading.is-style-kal-heading-secondary-accent::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 1em;
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  margin-right: 12px;
  vertical-align: middle;
}

.wp-block-heading.is-style-kal-heading-primary-bg {
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  padding: 8px 20px;
  border-radius: 6px;
  display: inline-block;
}

.wp-block-heading.is-style-kal-heading-secondary-bg {
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  padding: 8px 20px;
  border-radius: 6px;
  display: inline-block;
}

/* ============================================================================
   SEPARATOR STYLES (core/separator)
   ============================================================================ */

.wp-block-separator.is-style-kal-separator-primary {
  border: none;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #800080 50%, transparent 100%);
  margin: 32px 0;
}

.wp-block-separator.is-style-kal-separator-secondary {
  border: none;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #008000 50%, transparent 100%);
  margin: 32px 0;
}

.wp-block-separator.is-style-kal-separator-dotted-primary {
  border: none;
  border-top: 3px dotted #800080;
  background: transparent;
  margin: 32px 0;
}

.wp-block-separator.is-style-kal-separator-dotted-secondary {
  border: none;
  border-top: 3px dotted #008000;
  background: transparent;
  margin: 32px 0;
}

/* ============================================================================
   IMAGE STYLES (core/image)
   ============================================================================ */

.wp-block-image.is-style-kal-image-primary-border img {
  border: 4px solid #800080;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(128, 0, 128, 0.15);
  transition: all 0.3s ease;
}

.wp-block-image.is-style-kal-image-primary-border:hover img {
  box-shadow: 0 8px 16px rgba(128, 0, 128, 0.25);
  transform: scale(1.02);
}

.wp-block-image.is-style-kal-image-secondary-border img {
  border: 4px solid #008000;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 128, 0, 0.15);
  transition: all 0.3s ease;
}

.wp-block-image.is-style-kal-image-secondary-border:hover img {
  box-shadow: 0 8px 16px rgba(0, 128, 0, 0.25);
  transform: scale(1.02);
}

.wp-block-image.is-style-kal-image-rounded img {
  border-radius: 16px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.wp-block-image.is-style-kal-image-circle img {
  border-radius: 50%;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

/* ============================================================================
   CODE BLOCK STYLES (core/code)
   ============================================================================ */

.wp-block-code.is-style-kal-code-primary {
  background: linear-gradient(135deg, #f9f5fb 0%, #f0ebf5 100%);
  border-left: 4px solid #800080;
  border-radius: 6px;
  padding: 16px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
  line-height: 1.6;
  overflow-x: auto;
}

.wp-block-code.is-style-kal-code-primary code {
  background: transparent;
  color: #333;
}

.wp-block-code.is-style-kal-code-secondary {
  background: linear-gradient(135deg, #f1f9f1 0%, #e8f5e8 100%);
  border-left: 4px solid #008000;
  border-radius: 6px;
  padding: 16px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
  line-height: 1.6;
  overflow-x: auto;
}

.wp-block-code.is-style-kal-code-secondary code {
  background: transparent;
  color: #333;
}

/* ============================================================================
   COLUMN STYLES (core/columns)
   ============================================================================ */

.wp-block-columns.is-style-kal-columns-gap-large {
  gap: 40px;
}

.wp-block-columns.is-style-kal-columns-gap-small {
  gap: 16px;
}

.wp-block-columns.is-style-kal-columns-bordered > .wp-block-column {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  background: #fafafa;
}

.wp-block-columns.is-style-kal-columns-primary > .wp-block-column {
  border: 1px solid #800080;
  border-radius: 8px;
  padding: 20px;
  background: linear-gradient(135deg, #f9f5fb 0%, #ffffff 100%);
  transition: all 0.3s ease;
}

.wp-block-columns.is-style-kal-columns-primary > .wp-block-column:hover {
  box-shadow: 0 6px 12px rgba(128, 0, 128, 0.15);
  transform: translateY(-2px);
}

.wp-block-columns.is-style-kal-columns-secondary > .wp-block-column {
  border: 1px solid #008000;
  border-radius: 8px;
  padding: 20px;
  background: linear-gradient(135deg, #f1f9f1 0%, #ffffff 100%);
  transition: all 0.3s ease;
}

.wp-block-columns.is-style-kal-columns-secondary > .wp-block-column:hover {
  box-shadow: 0 6px 12px rgba(0, 128, 0, 0.15);
  transform: translateY(-2px);
}

/* ============================================================================
   COVER BLOCK STYLES (core/cover)
   ============================================================================ */

.wp-block-cover.is-style-kal-cover-primary-overlay {
  background: linear-gradient(135deg, rgba(128, 0, 128, 0.85) 0%, rgba(154, 25, 152, 0.85) 100%);
}

.wp-block-cover.is-style-kal-cover-secondary-overlay {
  background: linear-gradient(135deg, rgba(0, 128, 0, 0.85) 0%, rgba(0, 160, 16, 0.85) 100%);
}

.wp-block-cover.is-style-kal-cover-gradient-primary {
  background: linear-gradient(135deg, #800080 0%, #9a1998 50%, #b3219a 100%);
}

.wp-block-cover.is-style-kal-cover-gradient-secondary {
  background: linear-gradient(135deg, #008000 0%, #00a010 50%, #00c412 100%);
}

/* ============================================================================
   PARAGRAPH STYLES (core/paragraph)
   ============================================================================ */

.wp-block-paragraph.is-style-kal-lead-text {
  font-size: 1.25em;
  line-height: 1.6;
  color: #555;
  font-weight: 400;
}

.wp-block-paragraph.is-style-kal-highlight-primary {
  background: linear-gradient(135deg, #f9f5fb 0%, #f0ebf5 100%);
  border-left: 4px solid #800080;
  padding: 16px 20px;
  border-radius: 4px;
  margin: 16px 0;
}

.wp-block-paragraph.is-style-kal-highlight-secondary {
  background: linear-gradient(135deg, #f1f9f1 0%, #e8f5e8 100%);
  border-left: 4px solid #008000;
  padding: 16px 20px;
  border-radius: 4px;
  margin: 16px 0;
}

/* ============================================================================
   PULLQUOTE STYLES (core/pullquote)
   ============================================================================ */

.wp-block-pullquote.is-style-kal-pullquote-primary {
  border-top: 4px solid #800080;
  border-bottom: 4px solid #800080;
  padding: 24px 0;
  text-align: center;
}

.wp-block-pullquote.is-style-kal-pullquote-primary blockquote {
  font-size: 1.5em;
  font-style: italic;
  color: #800080;
  margin: 0;
}

.wp-block-pullquote.is-style-kal-pullquote-primary cite {
  color: #666;
  font-size: 0.9em;
  margin-top: 16px;
  display: block;
}

.wp-block-pullquote.is-style-kal-pullquote-secondary {
  border-top: 4px solid #008000;
  border-bottom: 4px solid #008000;
  padding: 24px 0;
  text-align: center;
}

.wp-block-pullquote.is-style-kal-pullquote-secondary blockquote {
  font-size: 1.5em;
  font-style: italic;
  color: #008000;
  margin: 0;
}

.wp-block-pullquote.is-style-kal-pullquote-secondary cite {
  color: #666;
  font-size: 0.9em;
  margin-top: 16px;
  display: block;
}

/* ============================================================================
   NUMBERED LIST STYLES (core/list with ordered attribute)
   ============================================================================ */

.wp-block-list.is-style-kal-numbered-primary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-primary li {
  counter-increment: kal-counter;
  padding-left: 40px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-numbered-primary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.wp-block-list.is-style-kal-numbered-secondary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-secondary li {
  counter-increment: kal-counter;
  padding-left: 40px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-numbered-secondary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.wp-block-list.is-style-kal-numbered-square-primary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-square-primary li {
  counter-increment: kal-counter;
  padding-left: 40px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-numbered-square-primary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.wp-block-list.is-style-kal-numbered-square-secondary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-square-secondary li {
  counter-increment: kal-counter;
  padding-left: 40px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-numbered-square-secondary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.wp-block-list.is-style-kal-numbered-outline-primary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-outline-primary li {
  counter-increment: kal-counter;
  padding-left: 40px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-numbered-outline-primary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: transparent;
  color: #800080;
  border: 2px solid #800080;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.wp-block-list.is-style-kal-numbered-outline-secondary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-outline-secondary li {
  counter-increment: kal-counter;
  padding-left: 40px;
  margin-bottom: 12px;
  position: relative;
}

.wp-block-list.is-style-kal-numbered-outline-secondary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: transparent;
  color: #008000;
  border: 2px solid #008000;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.wp-block-list.is-style-kal-numbered-large-primary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-large-primary li {
  counter-increment: kal-counter;
  padding-left: 60px;
  margin-bottom: 16px;
  position: relative;
  min-height: 48px;
  display: flex;
  align-items: center;
}

.wp-block-list.is-style-kal-numbered-large-primary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  box-shadow: 0 4px 6px rgba(128, 0, 128, 0.2);
}

.wp-block-list.is-style-kal-numbered-large-secondary {
  list-style: none;
  counter-reset: kal-counter;
  padding-left: 0;
}

.wp-block-list.is-style-kal-numbered-large-secondary li {
  counter-increment: kal-counter;
  padding-left: 60px;
  margin-bottom: 16px;
  position: relative;
  min-height: 48px;
  display: flex;
  align-items: center;
}

.wp-block-list.is-style-kal-numbered-large-secondary li:before {
  content: counter(kal-counter);
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  box-shadow: 0 4px 6px rgba(0, 128, 0, 0.2);
}

/* ============================================================================
   MEDIA & TEXT BLOCK STYLES (core/media-text)
   ============================================================================ */

.wp-block-media-text.is-style-kal-media-card-primary {
  border: 1px solid #800080;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 12px rgba(128, 0, 128, 0.15);
  transition: all 0.3s ease;
}

.wp-block-media-text.is-style-kal-media-card-primary:hover {
  box-shadow: 0 12px 24px rgba(128, 0, 128, 0.25);
  transform: translateY(-4px);
}

.wp-block-media-text.is-style-kal-media-card-secondary {
  border: 1px solid #008000;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 12px rgba(0, 128, 0, 0.15);
  transition: all 0.3s ease;
}

.wp-block-media-text.is-style-kal-media-card-secondary:hover {
  box-shadow: 0 12px 24px rgba(0, 128, 0, 0.25);
  transform: translateY(-4px);
}

/* ============================================================================
   GALLERY BLOCK STYLES (core/gallery)
   ============================================================================ */

.wp-block-gallery.is-style-kal-gallery-bordered-primary .wp-block-image img {
  border: 3px solid #800080;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.wp-block-gallery.is-style-kal-gallery-bordered-primary .wp-block-image:hover img {
  transform: scale(1.05);
  box-shadow: 0 8px 16px rgba(128, 0, 128, 0.3);
}

.wp-block-gallery.is-style-kal-gallery-bordered-secondary .wp-block-image img {
  border: 3px solid #008000;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.wp-block-gallery.is-style-kal-gallery-bordered-secondary .wp-block-image:hover img {
  transform: scale(1.05);
  box-shadow: 0 8px 16px rgba(0, 128, 0, 0.3);
}

.wp-block-gallery.is-style-kal-gallery-rounded {
  gap: 16px;
}

.wp-block-gallery.is-style-kal-gallery-rounded .wp-block-image img {
  border-radius: 16px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* ============================================================================
   SPACER STYLES (core/spacer)
   ============================================================================ */

.wp-block-spacer.is-style-kal-spacer-small {
  height: 20px !important;
}

.wp-block-spacer.is-style-kal-spacer-medium {
  height: 40px !important;
}

.wp-block-spacer.is-style-kal-spacer-large {
  height: 80px !important;
}

.wp-block-spacer.is-style-kal-spacer-xlarge {
  height: 120px !important;
}

/* ============================================================================
   PREFORMATTED TEXT STYLES (core/preformatted)
   ============================================================================ */

.wp-block-preformatted.is-style-kal-terminal-primary {
  background: #1e1e1e;
  color: #d4d4d4;
  border-left: 4px solid #800080;
  border-radius: 6px;
  padding: 20px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
  line-height: 1.6;
  overflow-x: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.wp-block-preformatted.is-style-kal-terminal-primary::before {
  content: '$ ';
  color: #800080;
  font-weight: bold;
}

.wp-block-preformatted.is-style-kal-terminal-secondary {
  background: #1e1e1e;
  color: #d4d4d4;
  border-left: 4px solid #008000;
  border-radius: 6px;
  padding: 20px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
  line-height: 1.6;
  overflow-x: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.wp-block-preformatted.is-style-kal-terminal-secondary::before {
  content: '$ ';
  color: #008000;
  font-weight: bold;
}

/* ============================================================================
   VERSE BLOCK STYLES (core/verse)
   ============================================================================ */

.wp-block-verse.is-style-kal-verse-primary {
  background: linear-gradient(135deg, #f9f5fb 0%, #f0ebf5 100%);
  border-left: 4px solid #800080;
  padding: 20px 24px;
  border-radius: 6px;
  font-style: italic;
  color: #555;
  line-height: 1.8;
}

.wp-block-verse.is-style-kal-verse-secondary {
  background: linear-gradient(135deg, #f1f9f1 0%, #e8f5e8 100%);
  border-left: 4px solid #008000;
  padding: 20px 24px;
  border-radius: 6px;
  font-style: italic;
  color: #555;
  line-height: 1.8;
}

/* ============================================================================
   SOCIAL LINKS STYLES (core/social-links)
   ============================================================================ */

.wp-block-social-links.is-style-kal-social-primary a {
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  transition: all 0.3s ease;
}

.wp-block-social-links.is-style-kal-social-primary a:hover {
  background: linear-gradient(135deg, #9a1998 0%, #b3219a 100%);
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(128, 0, 128, 0.3);
}

.wp-block-social-links.is-style-kal-social-secondary a {
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  transition: all 0.3s ease;
}

.wp-block-social-links.is-style-kal-social-secondary a:hover {
  background: linear-gradient(135deg, #00a010 0%, #00c412 100%);
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 128, 0, 0.3);
}

.wp-block-social-links.is-style-kal-social-outline-primary a {
  background: transparent;
  border: 2px solid #800080;
  color: #800080;
  transition: all 0.3s ease;
}

.wp-block-social-links.is-style-kal-social-outline-primary a:hover {
  background: #800080;
  color: white;
  transform: scale(1.1);
}

.wp-block-social-links.is-style-kal-social-outline-secondary a {
  background: transparent;
  border: 2px solid #008000;
  color: #008000;
  transition: all 0.3s ease;
}

.wp-block-social-links.is-style-kal-social-outline-secondary a:hover {
  background: #008000;
  color: white;
  transform: scale(1.1);
}

/* ============================================================================
   SEARCH BLOCK STYLES (core/search)
   ============================================================================ */

.wp-block-search.is-style-kal-search-primary .wp-block-search__button {
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  border: none;
  color: white;
  transition: all 0.3s ease;
}

.wp-block-search.is-style-kal-search-primary .wp-block-search__button:hover {
  background: linear-gradient(135deg, #9a1998 0%, #b3219a 100%);
  box-shadow: 0 4px 8px rgba(128, 0, 128, 0.3);
}

.wp-block-search.is-style-kal-search-primary .wp-block-search__input {
  border: 2px solid #800080;
  border-radius: 6px;
}

.wp-block-search.is-style-kal-search-secondary .wp-block-search__button {
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  border: none;
  color: white;
  transition: all 0.3s ease;
}

.wp-block-search.is-style-kal-search-secondary .wp-block-search__button:hover {
  background: linear-gradient(135deg, #00a010 0%, #00c412 100%);
  box-shadow: 0 4px 8px rgba(0, 128, 0, 0.3);
}

.wp-block-search.is-style-kal-search-secondary .wp-block-search__input {
  border: 2px solid #008000;
  border-radius: 6px;
}

/* ============================================================================
   CALENDAR BLOCK STYLES (core/calendar)
   ============================================================================ */

.wp-block-calendar.is-style-kal-calendar-primary table caption {
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  padding: 12px;
  font-weight: 600;
  border-radius: 6px 6px 0 0;
}

.wp-block-calendar.is-style-kal-calendar-primary table th {
  background: #f9f5fb;
  color: #800080;
  font-weight: 600;
  padding: 8px;
}

.wp-block-calendar.is-style-kal-calendar-primary table td a {
  color: #800080;
  font-weight: 600;
}

.wp-block-calendar.is-style-kal-calendar-secondary table caption {
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  padding: 12px;
  font-weight: 600;
  border-radius: 6px 6px 0 0;
}

.wp-block-calendar.is-style-kal-calendar-secondary table th {
  background: #f1f9f1;
  color: #008000;
  font-weight: 600;
  padding: 8px;
}

.wp-block-calendar.is-style-kal-calendar-secondary table td a {
  color: #008000;
  font-weight: 600;
}

/* ============================================================================
   LATEST POSTS BLOCK STYLES (core/latest-posts)
   ============================================================================ */

.wp-block-latest-posts.is-style-kal-posts-card-primary li {
  border: 1px solid #800080;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f9f5fb 0%, #ffffff 100%);
  transition: all 0.3s ease;
}

.wp-block-latest-posts.is-style-kal-posts-card-primary li:hover {
  box-shadow: 0 6px 12px rgba(128, 0, 128, 0.15);
  transform: translateX(4px);
}

.wp-block-latest-posts.is-style-kal-posts-card-primary li a {
  color: #800080;
  font-weight: 600;
  text-decoration: none;
}

.wp-block-latest-posts.is-style-kal-posts-card-secondary li {
  border: 1px solid #008000;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f1f9f1 0%, #ffffff 100%);
  transition: all 0.3s ease;
}

.wp-block-latest-posts.is-style-kal-posts-card-secondary li:hover {
  box-shadow: 0 6px 12px rgba(0, 128, 0, 0.15);
  transform: translateX(4px);
}

.wp-block-latest-posts.is-style-kal-posts-card-secondary li a {
  color: #008000;
  font-weight: 600;
  text-decoration: none;
}

/* ============================================================================
   ARCHIVES BLOCK STYLES (core/archives)
   ============================================================================ */

.wp-block-archives.is-style-kal-archives-primary li {
  padding: 8px 12px;
  border-left: 3px solid transparent;
  transition: all 0.3s ease;
}

.wp-block-archives.is-style-kal-archives-primary li:hover {
  border-left-color: #800080;
  background: #f9f5fb;
  padding-left: 16px;
}

.wp-block-archives.is-style-kal-archives-primary li a {
  color: #800080;
  text-decoration: none;
}

.wp-block-archives.is-style-kal-archives-secondary li {
  padding: 8px 12px;
  border-left: 3px solid transparent;
  transition: all 0.3s ease;
}

.wp-block-archives.is-style-kal-archives-secondary li:hover {
  border-left-color: #008000;
  background: #f1f9f1;
  padding-left: 16px;
}

.wp-block-archives.is-style-kal-archives-secondary li a {
  color: #008000;
  text-decoration: none;
}

/* ============================================================================
   CATEGORIES BLOCK STYLES (core/categories)
   ============================================================================ */

.wp-block-categories.is-style-kal-categories-badges-primary li {
  display: inline-block;
  margin: 4px;
}

.wp-block-categories.is-style-kal-categories-badges-primary li a {
  display: inline-block;
  background: linear-gradient(135deg, #800080 0%, #9a1998 100%);
  color: white;
  padding: 6px 16px;
  border-radius: 20px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.wp-block-categories.is-style-kal-categories-badges-primary li a:hover {
  background: linear-gradient(135deg, #9a1998 0%, #b3219a 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(128, 0, 128, 0.3);
}

.wp-block-categories.is-style-kal-categories-badges-secondary li {
  display: inline-block;
  margin: 4px;
}

.wp-block-categories.is-style-kal-categories-badges-secondary li a {
  display: inline-block;
  background: linear-gradient(135deg, #008000 0%, #00a010 100%);
  color: white;
  padding: 6px 16px;
  border-radius: 20px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.wp-block-categories.is-style-kal-categories-badges-secondary li a:hover {
  background: linear-gradient(135deg, #00a010 0%, #00c412 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 128, 0, 0.3);
}

/* ============================================================================
   TAG CLOUD BLOCK STYLES (core/tag-cloud)
   ============================================================================ */

.wp-block-tag-cloud.is-style-kal-tags-primary a {
  background: #f9f5fb;
  color: #800080;
  border: 1px solid #800080;
  padding: 4px 12px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  margin: 4px;
  transition: all 0.3s ease;
  font-size: 14px !important;
}

.wp-block-tag-cloud.is-style-kal-tags-primary a:hover {
  background: #800080;
  color: white;
  transform: scale(1.05);
}

.wp-block-tag-cloud.is-style-kal-tags-secondary a {
  background: #f1f9f1;
  color: #008000;
  border: 1px solid #008000;
  padding: 4px 12px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  margin: 4px;
  transition: all 0.3s ease;
  font-size: 14px !important;
}

.wp-block-tag-cloud.is-style-kal-tags-secondary a:hover {
  background: #008000;
  color: white;
  transform: scale(1.05);
}

/* ============================================================================
   NAVIGATION BLOCK STYLES (core/navigation)
   ============================================================================ */

.wp-block-navigation.is-style-kal-nav-primary .wp-block-navigation-item a {
  color: #800080;
  font-weight: 600;
  transition: all 0.3s ease;
}

.wp-block-navigation.is-style-kal-nav-primary .wp-block-navigation-item a:hover {
  color: #9a1998;
  transform: translateY(-2px);
}

.wp-block-navigation.is-style-kal-nav-secondary .wp-block-navigation-item a {
  color: #008000;
  font-weight: 600;
  transition: all 0.3s ease;
}

.wp-block-navigation.is-style-kal-nav-secondary .wp-block-navigation-item a:hover {
  color: #00a010;
  transform: translateY(-2px);
}

.wp-block-navigation.is-style-kal-nav-pills-primary .wp-block-navigation-item a {
  background: #f9f5fb;
  color: #800080;
  padding: 8px 16px;
  border-radius: 20px;
  transition: all 0.3s ease;
}

.wp-block-navigation.is-style-kal-nav-pills-primary .wp-block-navigation-item a:hover {
  background: #800080;
  color: white;
}

.wp-block-navigation.is-style-kal-nav-pills-secondary .wp-block-navigation-item a {
  background: #f1f9f1;
  color: #008000;
  padding: 8px 16px;
  border-radius: 20px;
  transition: all 0.3s ease;
}

.wp-block-navigation.is-style-kal-nav-pills-secondary .wp-block-navigation-item a:hover {
  background: #008000;
  color: white;
}
