/* Jegyzőkönyvtár – public */
.jk-wrap{
  font-family: var(--jk-font-family);
  font-size: var(--jk-base-font-size);
  line-height: var(--jk-line-height);
  color: var(--jk-color-text);
  background: var(--jk-color-bg);
}

.jk-wrap * { box-sizing: border-box; }

.jk-cards, .jk-accordion, .jk-modal-list { display: grid; gap: var(--jk-gap); }

.jk-card, .jk-acc-item, .jk-modal-row{
  border: var(--jk-border-width) solid var(--jk-color-border);
  border-radius: var(--jk-card-radius);
  background: var(--jk-color-card-content-bg);
}

.jk-card{ padding: var(--jk-card-padding); }

.jk-acc-item{
  /* Fix: inner panel background should not spill over rounded corners when opened */
  overflow: hidden;
}


.jk-modal-row{ padding: 0; }


.jk-row-head{
  display:flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: var(--jk-card-padding);
}
.jk-row-head .jk-header{ flex: 1; }

/* Accordion panel (animated 300ms) */
.jk-acc-panel{
  max-height: 0;
  overflow: hidden;
  transition: max-height 300ms ease;
}
.jk-acc-inner{
  border-top: var(--jk-border-width) solid var(--jk-color-border);
  padding: var(--jk-card-padding);
  background: var(--jk-color-card-content-bg);
  border-bottom-left-radius: var(--jk-card-radius);
  border-bottom-right-radius: var(--jk-card-radius);
}


.jk-header-main{
  display:flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: var(--jk-title-font-size);
}

.jk-datetime{ display:inline; }

.jk-badge{
  font-weight: 600;
  font-size: 0.9em;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--jk-badge-bg);
  color: var(--jk-badge-text);
}

.jk-forum{
  font-weight: 500;
  opacity: 0.9;
}

.jk-body{
  padding-top: 12px;
}


.jk-location{ margin-bottom: 10px; }

.jk-content{ margin-bottom: 12px; }
.jk-content p{ margin: 0 0 10px 0; }
.jk-content ul, .jk-content ol{ margin: 0 0 10px 18px; }

.jk-docs{ display:grid; gap: 10px; padding-top: 6px; }
.jk-doccat-title{ font-weight: 700; margin-bottom: 6px; }
.jk-doc-links{ display:flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.jk-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--jk-btn-bg);
  color: var(--jk-btn-text);
  border: var(--jk-btn-border-width) solid var(--jk-btn-border-color);
  transition: background-color 300ms, color 300ms, border-color 300ms;
  text-decoration:none;
  cursor:pointer;
  font: inherit;
}
.jk-btn:hover{ background: var(--jk-btn-hover-bg); color: var(--jk-btn-hover-text); border-color: var(--jk-btn-hover-border-color); }
.jk-btn:focus-visible{ outline: 3px solid var(--jk-more-color); outline-offset: 2px; }
.jk-btn-secondary{
  background: transparent;
  color: var(--jk-more-color);
  border-color: var(--jk-more-color);
}
.jk-btn-secondary:hover{ background: transparent; color: var(--jk-more-hover-color); border-color: var(--jk-more-hover-color); }
.jk-filesize{
  font-size: 0.85em;
  opacity: 0.75;
  margin-left: 6px;
}

.jk-empty{ opacity: 0.8; }

.jk-filters{
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  margin: 0 0 14px 0;
}
.jk-filter{ display:flex; flex-direction: column; gap: 6px; }
.jk-filter-label{ font-size: 0.9em; opacity: 0.8; }
.jk-filters select{
  min-width: 220px;
  padding: 8px 10px;
  border-radius: 10px;
  border: var(--jk-border-width) solid var(--jk-color-border);
  background: #fff;
}


/* Modal */
.jk-modal[aria-hidden="true"]{ display:none; }
.jk-modal{
  position: fixed;
  inset: 0;
  z-index: 999999;
}
.jk-modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.55);
}
.jk-modal-panel{
  position: relative;
  max-width: 960px;
  margin: 5vh auto;
  background: var(--jk-color-card-bg);
  border-radius: 16px;
  border: var(--jk-border-width) solid var(--jk-color-border);
  padding: 18px;
  max-height: 90vh;
  overflow: auto;
}
.jk-modal-close{
  position: sticky;
  top: 0;
  float: right;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0 6px;
}
.jk-modal-close:focus-visible{ outline: 3px solid var(--jk-more-color); outline-offset: 2px; }

.jk-modal-content{ outline: none; }

.jk-modal-pdf{
  margin-top: 16px;
  border-top: var(--jk-border-width) solid var(--jk-color-border);
  padding-top: 12px;
}
.jk-modal-pdf-header{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.jk-pdf-iframe{
  width: 100%;
  height: 70vh;
  border: var(--jk-border-width) solid var(--jk-color-border);
  border-radius: 12px;
}



/* --- SVG ikonok --- */
.jk-title-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: var(--jk-title-icon-size);
  height: var(--jk-title-icon-size);
  margin-right: 10px;
  flex: 0 0 auto;
  position: relative;
}
.jk-title-icon svg,
.jk-title-icon svg path{
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.jk-title-icon--open{ display:none; }
.jk-item.is-open .jk-title-icon--closed{ display:none; }
.jk-item.is-open .jk-title-icon--open{ display:inline; }

.jk-btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: var(--jk-btn-icon-size);
  height: var(--jk-btn-icon-size);
  margin-right: 10px;
  flex: 0 0 auto;
  position: relative;
}
.jk-btn-icon--normal,
.jk-btn-icon--hover{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:1;
  transition: opacity 300ms;
}
.jk-btn-icon--hover{ opacity:0; }

.jk-btn:hover .jk-btn-icon--normal{ opacity:0; }
.jk-btn:hover .jk-btn-icon--hover{ opacity:1; }

.jk-btn-icon svg,
.jk-btn-icon svg path{
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

/* admin preview markers in case SVG is missing */
.jk-icon-none, .jk-icon-same{
  display:inline-flex;
  width:20px;height:20px;
  align-items:center;justify-content:center;
  font-weight:700;
  opacity:0.8;
}
