/* Kel Classic Editor – content styles (front end + visual editor).
   Uses logical properties so everything works in RTL (Hebrew) and LTR. */
:root {
	--kce-accent: #2563eb;
	--kce-accent-contrast: #fff;
	--kce-radius: 10px;
	--kce-border: rgba(0, 0, 0, .12);
	--kce-muted: rgba(0, 0, 0, .55);
}

/* ---------- Boxes ---------- */
.kce-box {
	--kce-box-c: #2563eb;
	--kce-box-bg: #eff6ff;
	position: relative;
	margin: 1.5em 0;
	padding: 1em 1.25em;
	padding-inline-start: 3em;
	background: var(--kce-box-bg);
	border-inline-start: 4px solid var(--kce-box-c);
	border-radius: var(--kce-radius);
	color: inherit;
}
.kce-box::before {
	content: "i";
	position: absolute;
	inset-inline-start: .9em;
	top: 1.05em;
	width: 1.4em;
	height: 1.4em;
	border-radius: 50%;
	background: var(--kce-box-c);
	color: #fff;
	font: 700 .85em/1.4em Georgia, serif;
	text-align: center;
}
.kce-box > :first-child { margin-top: 0; }
.kce-box > :last-child { margin-bottom: 0; }
.kce-box--success { --kce-box-c: #16a34a; --kce-box-bg: #f0fdf4; }
.kce-box--success::before { content: "✓"; font-family: inherit; }
.kce-box--warning { --kce-box-c: #d97706; --kce-box-bg: #fffbeb; }
.kce-box--warning::before { content: "!"; }
.kce-box--danger { --kce-box-c: #dc2626; --kce-box-bg: #fef2f2; }
.kce-box--danger::before { content: "✕"; font-family: inherit; }
.kce-box--note { --kce-box-c: #6b7280; --kce-box-bg: #f9fafb; }
.kce-box--note::before { content: "✎"; font-family: inherit; }
.kce-box--tip { --kce-box-c: #9333ea; --kce-box-bg: #faf5ff; }
.kce-box--tip::before { content: "★"; font-family: inherit; }
.kce-box--quote { --kce-box-c: #0f766e; --kce-box-bg: #f0fdfa; font-size: 1.1em; font-style: italic; }
.kce-box--quote::before { content: "”"; font: 700 1.6em/1.1 Georgia, serif; background: none; color: var(--kce-box-c); }

/* ---------- Buttons ---------- */
.kce-btn,
.entry-content a.kce-btn {
	display: inline-block;
	padding: .7em 1.4em;
	border: 2px solid var(--kce-accent);
	border-radius: 999px;
	background: var(--kce-accent);
	color: var(--kce-accent-contrast) !important;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	text-align: center;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.kce-btn:hover,
.kce-btn:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0, 0, 0, .15); }
.kce-btn--secondary { --kce-accent: #111827; }
.kce-btn--dark { --kce-accent: #0f172a; }
.kce-btn--outline { background: transparent; color: var(--kce-accent) !important; }
.kce-btn--sm { font-size: .85em; padding: .5em 1em; }
.kce-btn--lg { font-size: 1.15em; padding: .85em 1.8em; }
.kce-btn--full { display: block; width: 100%; box-sizing: border-box; }
.kce-btn-wrap.kce-align--start { text-align: start; }
.kce-btn-wrap.kce-align--center { text-align: center; }
.kce-btn-wrap.kce-align--end { text-align: end; }

/* ---------- Columns ---------- */
.kce-cols { display: grid; gap: 1.5em; margin: 1.5em 0; }
.kce-cols--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kce-cols--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kce-cols--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kce-cols--13 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.kce-cols--31 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.kce-col > :first-child { margin-top: 0; }
.kce-col > :last-child { margin-bottom: 0; }
@media (max-width: 700px) {
	.kce-cols { grid-template-columns: 1fr !important; }
}

/* ---------- Accordion ---------- */
.kce-acc {
	margin: .75em 0;
	border: 1px solid var(--kce-border);
	border-radius: var(--kce-radius);
	background: rgba(255, 255, 255, .6);
	overflow: hidden;
}
.kce-acc > summary {
	position: relative;
	padding: .9em 1.1em;
	padding-inline-end: 2.6em;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.kce-acc > summary::-webkit-details-marker { display: none; }
.kce-acc > summary::after {
	content: "+";
	position: absolute;
	inset-inline-end: 1em;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.3em;
	line-height: 1;
	transition: transform .2s ease;
}
.kce-acc[open] > summary::after { transform: translateY(-50%) rotate(45deg); }
.kce-acc[open] > summary { border-bottom: 1px solid var(--kce-border); }
.kce-acc > :not(summary) { margin-inline: 1.1em; }
.kce-acc > summary + * { margin-top: .9em; }
.kce-acc > :last-child { margin-bottom: .9em; }

/* ---------- Table of contents ---------- */
.kce-toc {
	margin: 1.5em 0;
	padding: 1em 1.25em;
	border: 1px solid var(--kce-border);
	border-radius: var(--kce-radius);
	background: rgba(0, 0, 0, .025);
}
.kce-toc__head { display: flex; align-items: center; justify-content: space-between; gap: 1em; }
.kce-toc__title { font-weight: 700; font-size: 1.05em; }
.kce-toc__toggle {
	border: 0;
	background: none;
	color: var(--kce-accent);
	font: inherit;
	font-size: .85em;
	cursor: pointer;
	padding: 0;
}
.kce-toc__list { margin: .75em 0 0; padding-inline-start: 1.4em; }
.kce-toc__item { margin: .25em 0; }
.kce-toc__item--l1 { margin-inline-start: 1.2em; list-style-type: circle; }
.kce-toc__item--l2 { margin-inline-start: 2.4em; list-style-type: square; font-size: .95em; }
.kce-toc.is-collapsed .kce-toc__list { display: none; }
.kce-toc a { text-decoration: none; }
.kce-toc a:hover { text-decoration: underline; }
h2[id], h3[id], h4[id] { scroll-margin-top: 90px; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Dividers & spacers ---------- */
hr.kce-divider { border: 0; margin: 2em auto; height: 0; border-top: 2px solid var(--kce-border); background: none; }
hr.kce-divider--dashed { border-top-style: dashed; }
hr.kce-divider--dotted { border-top-style: dotted; border-top-width: 3px; }
hr.kce-divider--double { border-top: 6px double var(--kce-border); }
hr.kce-divider--gradient { height: 3px; border: 0; background: linear-gradient(90deg, transparent, var(--kce-accent), transparent); }
.kce-divider-stars { text-align: center; letter-spacing: .6em; color: var(--kce-muted); margin: 2em 0; }
.kce-spacer { display: block; font-size: 0; line-height: 0; overflow: hidden; }

/* ---------- Tables ---------- */
table.kce-table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: .95em; }
table.kce-table th,
table.kce-table td { padding: .65em .8em; border-bottom: 1px solid var(--kce-border); text-align: start; vertical-align: top; }
table.kce-table thead th,
table.kce-table tr:first-child th { background: rgba(0, 0, 0, .04); font-weight: 700; }
table.kce-table--striped tbody tr:nth-child(even) { background: rgba(0, 0, 0, .03); }
table.kce-table--bordered th,
table.kce-table--bordered td { border: 1px solid var(--kce-border); }
table.kce-table--minimal th,
table.kce-table--minimal td { border: 0; }
@media (max-width: 700px) {
	table.kce-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* ---------- Text styles ---------- */
.kce-lead { font-size: 1.25em; line-height: 1.6; color: var(--kce-muted); }
.kce-small { font-size: .85em; }
.kce-dropcap::first-letter { float: inline-start; font-size: 3.4em; line-height: .9; font-weight: 700; margin-inline-end: .08em; margin-top: .05em; }
blockquote.kce-pullquote { border: 0; border-block: 3px solid currentColor; padding: 1em 0; margin: 2em 0; text-align: center; font-size: 1.3em; font-style: italic; }
mark.kce-mark { padding: 0 .15em; border-radius: 3px; color: inherit; }
.kce-mark--yellow { background: #fef08a; }
.kce-mark--green { background: #bbf7d0; }
.kce-mark--blue { background: #bfdbfe; }
.kce-mark--pink { background: #fbcfe8; }
kbd { padding: .1em .45em; border: 1px solid var(--kce-border); border-bottom-width: 2px; border-radius: 4px; font-family: ui-monospace, monospace; font-size: .85em; background: rgba(0, 0, 0, .03); }
.kce-reading-time { font-size: .9em; color: var(--kce-muted); margin-bottom: 1.5em; }
