/*
Theme Name: clod
Theme URI: https://claude.ai/artifact/UX6pdVcMa9bquDfrRdTKnk
Author: Yarin Raban
Description: ערכת עיצוב בלוקים עורכתית בעברית, מימין לשמאל: רקע קרם, כותרות ב־Assistant, גוף ב־Heebo, אלמוג אחד לפעולה הראשית ומשטחי מוצר כהים. בנויה על מערכת העיצוב clod ועומדת ב־WCAG AA.
Version: 1.4.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: clod
Tags: rtl-language-support, full-site-editing, block-patterns, block-styles, custom-colors, editor-style, accessibility-ready, blog, portfolio
*/

/* Short aliases for the theme.json presets */
:root {
	--primary: var(--wp--preset--color--primary);
	--primary-active: var(--wp--preset--color--primary-active);
	--coral-signature: var(--wp--preset--color--coral-signature);
	--ink: var(--wp--preset--color--ink);
	--body: var(--wp--preset--color--body);
	--muted: var(--wp--preset--color--muted);
	--muted-soft: var(--wp--preset--color--muted-soft);
	--hairline: var(--wp--preset--color--hairline);
	--hairline-soft: var(--wp--preset--color--hairline-soft);
	--border-control: var(--wp--preset--color--border-control);
	--canvas: var(--wp--preset--color--canvas);
	--surface-card: var(--wp--preset--color--surface-card);
	--surface-dark: var(--wp--preset--color--surface-dark);
	--surface-dark-elevated: var(--wp--preset--color--surface-dark-elevated);
	--surface-dark-soft: var(--wp--preset--color--surface-dark-soft);
	--on-primary: var(--wp--preset--color--on-primary);
	--on-dark: var(--wp--preset--color--on-dark);
	--on-dark-soft: var(--wp--preset--color--on-dark-soft);
	--on-dark-muted: var(--wp--preset--color--on-dark-muted);
	--success: var(--wp--preset--color--success);
	--error: var(--wp--preset--color--error);
	--space-xs: var(--wp--preset--spacing--xs);
	--space-sm: var(--wp--preset--spacing--sm);
	--space-md: var(--wp--preset--spacing--md);
	--space-lg: var(--wp--preset--spacing--lg);
	--space-xl: var(--wp--preset--spacing--xl);
	--space-xxl: var(--wp--preset--spacing--xxl);
	--space-cta: var(--wp--preset--spacing--cta);
	--space-section: var(--wp--preset--spacing--section);
	--radius-md: var(--wp--custom--radius--md);
	--radius-lg: var(--wp--custom--radius--lg);
	--radius-xl: var(--wp--custom--radius--xl);
	--radius-pill: var(--wp--custom--radius--pill);
}

/* ---------- Direction and Hebrew typesetting ----------
   WordPress sets dir="rtl" on <html> when the site language is Hebrew.
   Everything below uses logical properties, so it also works LTR. */
body { font-feature-settings: "kern", "calt"; -webkit-font-smoothing: antialiased; text-align: start; }
pre, code, kbd, samp, .wp-block-code,
input[type="email"], input[type="url"], input[type="tel"] { direction: ltr; text-align: start; unicode-bidi: isolate; }
em, i, cite { font-style: normal; } /* never italicise Hebrew */
:lang(en) em, :lang(en) i { font-style: italic; }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--primary-active); outline-offset: 2px; }
.skip-link:focus { background: var(--canvas); color: var(--ink); }

/* ---------- Header (TopNav) ---------- */
/* The menu sits beside the title at the start (right in RTL). !important so it also holds for a header edited in the Site Editor. */
.clod-nav { min-height: 64px; gap: var(--space-xl); border-block-end: 1px solid var(--hairline-soft); background: var(--canvas); justify-content: flex-start !important; padding-inline: var(--space-lg) !important; }
.clod-nav .wp-block-site-title { white-space: nowrap; flex-shrink: 0; }
.clod-nav .wp-block-navigation a { color: var(--muted); text-decoration: none; white-space: nowrap; }
.clod-nav .wp-block-navigation .current-menu-item > a,
.clod-nav .wp-block-navigation a[aria-current="page"] { color: var(--ink); }
/* Toggle: size and shape only. Its visibility stays with core (and the tablet rule below). */
.clod-nav .wp-block-navigation__responsive-container-open,
.clod-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; border-radius: 50%; align-items: center; justify-content: center; }
.clod-nav .wp-block-navigation__responsive-container-open { border: 1px solid var(--hairline); }
/* The menu sheet: cream, large tap targets */
.clod-nav .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open { background: var(--canvas); color: var(--ink); padding: var(--space-lg); }
.clod-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: var(--space-md); }
.clod-nav .wp-block-navigation__responsive-container.is-menu-open a { color: var(--ink); font-size: 20px; padding-block: 6px; }
/* Dropdown (desktop): a small cream card, like the rest of the system */
.clod-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	background: var(--canvas) !important; color: var(--ink) !important; border: 1px solid var(--hairline) !important; border-radius: var(--radius-md);
	box-shadow: 0 8px 24px rgba(20, 20, 19, 0.08); padding: var(--space-xs) !important; min-width: 200px !important; margin-block-start: 6px;
}
.clod-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a {
	padding: 8px 12px !important; border-radius: var(--wp--custom--radius--sm); color: var(--ink); font-size: 14px;
}
.clod-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a:is(:hover, :focus-visible) { background: var(--surface-card); }
.clod-nav .wp-block-navigation__submenu-container a[aria-current="page"] { font-weight: 700; }
.clod-nav .wp-block-navigation__submenu-icon { color: var(--muted); }
/* Mobile sheet: sub-items indented under their parent */
.clod-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-inline-start: var(--space-md) !important; gap: var(--space-xs); }
.clod-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { font-size: 18px; color: var(--body); }
.clod-nav .wp-block-navigation__responsive-container.is-menu-open button.wp-block-navigation-item__content { font-size: 20px; color: var(--ink); }

/* Tablets: collapse into the menu before the links start wrapping */
@media (min-width: 600px) and (max-width: 1099px) {
	.clod-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.clod-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
}
/* Once collapsed, the menu button goes to the far end (left in RTL) */
@media (max-width: 1099px) { .clod-nav .wp-block-navigation { margin-inline-start: auto; } }
@media (max-width: 599px) {
	.clod-nav { gap: var(--space-md); padding-inline: var(--space-md) !important; }
	.clod-nav .wp-block-site-title { font-size: 19px !important; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { min-height: 40px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.wp-block-button.is-style-secondary .wp-block-button__link { background: var(--canvas); color: var(--ink); border-color: var(--hairline); }
.wp-block-button.is-style-secondary .wp-block-button__link:active { background: var(--surface-card); }
.wp-block-button.is-style-dark .wp-block-button__link { background: var(--surface-dark-elevated); color: var(--on-dark); }
.wp-block-button.is-style-text .wp-block-button__link { background: transparent; color: var(--ink); padding-inline: var(--space-xs); }
.wp-block-button__link[aria-disabled="true"], .wp-element-button:disabled { background: var(--wp--preset--color--primary-disabled); color: var(--muted); }

/* ---------- Cards and surfaces (group block styles) ---------- */
.wp-block-group.is-style-card-feature,
.wp-block-group.is-style-card-outline,
.wp-block-group.is-style-card-dark,
.wp-block-group.is-style-card-coral { border-radius: var(--radius-lg); padding: var(--space-xl); }
.wp-block-group.is-style-card-feature { background: var(--surface-card); color: var(--ink); }
.wp-block-group.is-style-card-feature a:not(.wp-element-button) { color: var(--primary-active); } /* primary on surface-card is only 3.9:1 */
.wp-block-group.is-style-card-outline { background: var(--canvas); color: var(--ink); border: 1px solid var(--hairline); }
.wp-block-group.is-style-card-dark { background: var(--surface-dark); color: var(--on-dark-soft); }
.wp-block-group.is-style-card-coral { background: var(--primary); color: var(--on-primary); }
:is(.is-style-card-feature, .is-style-card-outline) p { color: var(--body); }
:is(.is-style-card-dark, .is-style-cta-dark, .clod-footer) :is(h1, h2, h3, h4, h5, h6) { color: var(--on-dark); }
:is(.is-style-card-dark, .is-style-cta-dark) a:not(.wp-element-button) { color: var(--on-dark); }
:is(.is-style-card-coral, .is-style-cta-coral) :is(h1, h2, h3, h4, h5, h6, p, a:not(.wp-element-button)) { color: var(--on-primary); }
.is-style-card-dark .wp-block-code { background: var(--surface-dark-soft); }
[class*="is-style-card-"] h3 { font-size: 20px; line-height: 1.35; margin-block-end: var(--space-xs); }
[class*="is-style-card-"] > :first-child { margin-block-start: 0; }

/* CTA bands */
.wp-block-group.is-style-cta-coral, .wp-block-group.is-style-cta-dark { border-radius: var(--radius-lg); padding: var(--space-cta); }
.wp-block-group.is-style-cta-coral { background: var(--primary); color: var(--on-primary); }
.wp-block-group.is-style-cta-dark { background: var(--surface-dark); color: var(--on-dark-soft); }
:is(.is-style-cta-coral, .is-style-cta-dark) h2 { font-size: var(--wp--preset--font-size--display-sm); line-height: 1.25; margin: 0; }
.is-style-cta-coral .wp-block-button.is-style-secondary .wp-block-button__link { border-color: transparent; color: var(--ink); }

/* Connector tile */
.wp-block-group.is-style-tile { border-radius: var(--radius-lg); padding: 20px; background: var(--canvas); border: 1px solid var(--hairline); }
.wp-block-group.is-style-tile h3 { font-family: var(--wp--preset--font-family--sans); font-size: 16px; font-weight: 500; line-height: 1.45; margin: 0; }
.wp-block-group.is-style-tile p { font-size: 14px; margin: 0; }
.clod-tile-icon { width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--surface-card); display: grid; place-items: center; font-size: 18px; color: var(--ink); margin: 0 0 var(--space-xs); }
.clod-status { display: inline-flex; align-items: center; gap: var(--space-xs); font-size: 13px !important; font-weight: 500; color: var(--muted); }
.clod-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--border-control); }
.clod-status.is-connected::before { background: var(--success); }

/* ---------- Text pieces (paragraph block styles) ---------- */
.is-style-eyebrow { font-size: 13px; font-weight: 500; color: var(--muted); letter-spacing: .5px; }
.is-style-card-feature .is-style-eyebrow { color: var(--body); }
:is(.is-style-card-dark, .is-style-cta-dark) .is-style-eyebrow { color: var(--on-dark-soft); }
.is-style-badge, .is-style-badge-coral { display: inline-block; width: fit-content; font-size: 13px; font-weight: 500; line-height: 1.45; padding: 4px 12px; border-radius: var(--radius-pill); background: var(--surface-card); color: var(--ink); }
.is-style-badge-coral { background: var(--primary); color: var(--on-primary) !important; font-size: 12px; letter-spacing: .5px; }
.is-style-price { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: var(--wp--preset--font-size--display-sm); line-height: 1.25; font-variant-numeric: tabular-nums; color: inherit; margin: 0; }
.is-style-price small { font-family: var(--wp--preset--font-family--sans); font-size: 14px; font-weight: 400; color: var(--muted); margin-inline-start: 4px; }
.is-style-card-dark .is-style-price { color: var(--on-dark); }
.is-style-card-dark .is-style-price small { color: var(--on-dark-soft); }

/* Checklist (list block style) */
ul.is-style-checklist { list-style: none; padding-inline-start: 0; display: grid; gap: var(--space-xs); }
ul.is-style-checklist li { position: relative; padding-inline-start: 24px; }
/* a check mark is not direction-aware: physical borders on purpose */
ul.is-style-checklist li::before { content: ""; position: absolute; inset-inline-start: 0; top: .45em; width: 12px; height: 7px; border-left: 2px solid var(--primary); border-bottom: 2px solid var(--primary); transform: rotate(-45deg); }
.is-style-card-dark ul.is-style-checklist li::before { border-color: var(--coral-signature); }

/* ---------- Hero ---------- */
.clod-hero { padding-block: var(--space-section); }
.clod-hero h1 { margin-block: 0; }
.clod-hero .clod-lead, .clod-lead { font-size: 18px; color: var(--body); max-width: 34em; }
.clod-hero .wp-block-code { border-radius: var(--radius-xl); }

/* ---------- Code window ---------- */
.wp-block-code { overflow-x: auto; white-space: pre; }
.wp-block-code code { white-space: pre; }
.wp-block-code.is-style-window { position: relative; padding-block-start: 52px; background: var(--surface-dark); }
.wp-block-code.is-style-window::before { content: ""; position: absolute; top: 22px; inset-inline-start: 24px; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent-teal); box-shadow: 16px 0 0 var(--surface-dark-elevated), 32px 0 0 var(--surface-dark-elevated); }

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="search"], input[type="password"], input[type="number"], textarea, select, .wp-block-search__input {
	font: 400 16px/1.6 var(--wp--preset--font-family--sans); min-height: 40px; box-sizing: border-box; padding: 8px 14px;
	border: 1px solid var(--border-control); border-radius: var(--radius-md); background: var(--canvas); color: var(--ink); unicode-bidi: plaintext; text-align: start;
}
input:focus, textarea:focus, select:focus, .wp-block-search__input:focus { outline: none; border-color: var(--primary-active); box-shadow: 0 0 0 1px var(--primary-active), 0 0 0 4px rgba(181, 88, 57, .18); }
::placeholder { color: var(--muted); opacity: 1; }
label { font-size: 14px; font-weight: 500; color: var(--ink); }
.wp-block-search__inside-wrapper { gap: var(--space-xs); }

/* Submit buttons from plugins and comments look like the primary button */
.wpcf7 input[type="submit"], .comment-form input[type="submit"], form input[type="submit"]:not(.wp-element-button) {
	background: var(--primary); color: var(--on-primary); border: 1px solid transparent; border-radius: var(--radius-md);
	min-height: 40px; padding: 0 20px; font: 500 14px/1 var(--wp--preset--font-family--sans); cursor: pointer;
}
:is(.wpcf7, .comment-form, form) input[type="submit"]:active { background: var(--primary-active); }

/* Contact Form 7 */
.wpcf7 form p { margin-block: 0 var(--space-md); }
.wpcf7 :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select) { width: 100%; max-width: 560px; }
.wpcf7 textarea { min-height: 160px; }
.wpcf7-not-valid-tip { color: var(--error); font-size: 13px; margin-block-start: 4px; }
.wpcf7 form .wpcf7-response-output { margin: var(--space-lg) 0 0; padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); border: 1px solid var(--hairline); font-size: 14px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: var(--error); color: var(--error); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--success); color: var(--ink); }

/* Classic [gallery] shortcode: a calm grid with captions under the photos */
.gallery { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--space-md); }
.gallery br { display: none; }
.gallery .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; }
.gallery img { width: 100% !important; height: auto; aspect-ratio: 1; object-fit: cover; border: 0 !important; border-radius: var(--radius-md); }
.gallery .gallery-caption { font-size: 14px; line-height: 1.5; color: var(--body); text-align: start; padding-block-start: 6px; }

/* ---------- Writings: speeches and letters ---------- */
.clod-page-intro { font-size: 18px; color: var(--body); max-width: 56ch; }
/* Category filter */
.wp-block-categories.is-style-pills { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-xs); padding: 0; margin-block: var(--space-lg) var(--space-xl); }
.wp-block-categories.is-style-pills li { margin: 0; }
.wp-block-categories.is-style-pills a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 16px; border-radius: var(--radius-pill); border: 1px solid var(--hairline); color: var(--body); text-decoration: none; font-size: 14px; font-weight: 500; }
.wp-block-categories.is-style-pills .current-cat a { background: var(--surface-card); border-color: transparent; color: var(--ink); }
/* The list: year at the start, the piece beside it */
.clod-entries { list-style: none; padding: 0; margin: 0; border-block-start: 1px solid var(--hairline); }
.clod-entries > li { margin: 0; border-block-end: 1px solid var(--hairline); }
.clod-entry { display: grid; grid-template-columns: 96px 1fr; gap: var(--space-lg); padding-block: var(--space-lg); }
.clod-entry-year { font-family: var(--wp--preset--font-family--display); font-size: 28px; font-weight: 600; line-height: 1.2; color: var(--ink); font-variant-numeric: tabular-nums; margin: 0; }
.clod-entry-body > * { margin-block: 0; }
.clod-entry-body { display: grid; gap: 6px; }
.clod-entry-cat, .clod-entry-cat a { font-size: 13px; font-weight: 500; color: var(--muted); text-decoration: none; }
.clod-entry .wp-block-post-title { font-size: 22px; line-height: 1.35; margin: 0; }
.clod-entry .wp-block-post-excerpt__excerpt { color: var(--body); margin: 0; }
.clod-entry .wp-block-post-excerpt__more-text { margin: 4px 0 0; font-size: 14px; font-weight: 500; }
@media (max-width: 599px) {
	.clod-entry { grid-template-columns: 1fr; gap: 4px; }
	.clod-entry-year { font-size: 18px; color: var(--muted); }
}
/* Featured posts (sticky): hidden entirely when nothing is pinned */
.clod-featured:not(:has(.wp-block-post-template > li)) { display: none; }
.clod-featured .wp-block-post-template { gap: var(--space-lg); }
@media (max-width: 781px) { .clod-featured .wp-block-post-template { grid-template-columns: 1fr !important; } }
.clod-featured-card { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; padding: var(--space-lg) !important; }
.clod-featured { padding-block-end: var(--space-xxl); }
.clod-featured-card.clod-featured-card > * { margin-block: 0; }
.clod-featured-card .wp-block-post-featured-image { margin: calc(-1 * var(--space-lg)) calc(-1 * var(--space-lg)) var(--space-sm); }
.clod-featured-card .wp-block-post-featured-image img { border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.clod-featured-card .wp-block-post-title.wp-block-post-title { font-size: 20px; line-height: 1.35; margin-block: 2px 0; }
.clod-featured-card .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.clod-featured-card .wp-block-post-title a:hover, .clod-featured-card .wp-block-post-title a:focus-visible { text-decoration: underline; }
.clod-featured-year { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.clod-featured-card .wp-block-post-excerpt { margin-block-start: 4px; flex: 1; display: flex; flex-direction: column; }
.clod-featured-card .wp-block-post-excerpt__excerpt { color: var(--body); font-size: 15px; margin: 0; }
.clod-featured-card .wp-block-post-excerpt__more-text { margin: auto 0 0; padding-block-start: var(--space-sm); font-size: 14px; font-weight: 500; }

/* Single piece */
.clod-post-head { margin-block-end: var(--space-xl); }
.clod-post-head .wp-block-post-title { margin-block: var(--space-xs); }
.clod-post-date { color: var(--muted); font-size: 15px; }
.clod-post-nav { border-block-start: 1px solid var(--hairline); padding-block-start: var(--space-lg); margin-block-start: var(--space-xxl); gap: var(--space-lg); font-size: 15px; }
.clod-post-nav a { text-decoration: none; }
.clod-post-nav a:hover, .clod-post-nav a:focus-visible { text-decoration: underline; }
/* Letter */
.wp-block-group.is-style-letter { background: var(--wp--preset--color--surface-soft); border: 1px solid var(--hairline); border-radius: var(--radius-md); padding: var(--space-xxl) var(--space-xl); font-size: 18px; line-height: 1.9; color: var(--wp--preset--color--body-strong); }
.is-style-letter > * { max-width: 60ch; }
.is-style-letter .clod-letter-meta { text-align: end; max-width: none; color: var(--muted); font-size: 15px; margin-block-end: var(--space-lg); }
.is-style-signature { text-align: end; font-family: var(--wp--preset--font-family--display); font-size: 22px; font-weight: 600; color: var(--ink); margin-block-start: var(--space-lg); max-width: none !important; }
/* Context of a speech: where, when, on what occasion */
.wp-block-group.is-style-context { background: var(--surface-card); border-radius: var(--radius-md); padding: var(--space-md) var(--space-lg); font-size: 15px; line-height: 1.6; color: var(--body); margin-block-end: var(--space-xl); }
.is-style-context > * { margin-block: 0; }
.is-style-context .is-style-eyebrow { margin-block-end: 4px; color: var(--body); }
@media (max-width: 781px) { .wp-block-group.is-style-letter { padding: var(--space-xl) var(--space-lg); } }

/* ---------- Posts ---------- */
.clod-post-card { height: 100%; box-sizing: border-box; }
.clod-post-card .wp-block-post-title { font-size: 20px; line-height: 1.35; margin-block-start: 0; }
.wp-block-query-pagination a { text-decoration: none; }
.wp-block-post-content a:not(.wp-element-button) { color: var(--primary); }

/* ---------- Footer ---------- */
.clod-footer { background: var(--surface-dark); color: var(--on-dark-soft); padding-block: var(--space-cta); font-size: 14px; }
.clod-footer .wp-block-site-title a { color: var(--on-dark); }
.clod-footer .wp-block-site-tagline { color: var(--on-dark-soft); font-size: 14px; max-width: 30em; }
.clod-footer h4 { font-size: 14px; color: var(--on-dark); margin-block-end: var(--space-sm); }
.clod-footer ul { list-style: none; padding-inline-start: 0; display: grid; gap: var(--space-xs); margin: 0; }
.clod-footer a { color: var(--on-dark-soft); text-decoration: none; }
.clod-footer a:hover, .clod-footer a:focus-visible { text-decoration: underline; color: var(--on-dark); }
.clod-footer .wp-block-navigation { gap: var(--space-xs); }
.clod-footer .wp-block-navigation a { color: var(--on-dark-soft); }
.clod-footer .clod-legal { color: var(--on-dark-muted); font-size: 13px; border-block-start: 1px solid var(--surface-dark-elevated); padding-block-start: var(--space-lg); margin-block-start: var(--space-xxl); }
.clod-footer .clod-legal a { color: var(--on-dark-soft); text-decoration: underline; }
.clod-footer .wp-block-columns { gap: var(--space-xl); }

/* ---------- Long-form reading (biographies, testimonies) ---------- */
.wp-block-post-content { font-size: 18px; line-height: 1.75; }
.wp-block-post-content > p, .wp-block-post-content li { max-width: 68ch; }
.wp-block-post-content :is(h2, h3) { scroll-margin-top: 96px; }
.wp-block-post-content h2 { font-size: var(--wp--preset--font-size--display-sm); line-height: 1.25; margin-block: 2.2em .6em; }
.wp-block-post-content h3 { font-family: var(--wp--preset--font-family--sans); font-size: 22px; font-weight: 500; line-height: 1.35; margin-block: 1.8em .5em; }
.wp-block-post-content > :first-child { margin-block-start: 0; }
.wp-block-post-title { margin-block-end: var(--space-lg); }

/* Quotes: testimony in the reader's voice, not decoration */
.wp-block-quote { margin-block: var(--space-xxl); margin-inline: 0; padding: 0; padding-inline-start: var(--space-lg); border-inline-start: 2px solid var(--hairline) !important; font-size: 24px; line-height: 1.5; font-weight: 500; }
.wp-block-quote p { max-width: 36ch; }
.wp-block-quote cite, .wp-block-quote .wp-block-quote__citation { display: block; margin-block-start: var(--space-sm); font-family: var(--wp--preset--font-family--sans); font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--muted); }
.wp-block-quote.is-style-feature { border: 0 !important; padding: var(--space-xxl) var(--space-xl); background: var(--surface-card); border-radius: var(--radius-lg); font-size: clamp(24px, 3.2vw, 34px); line-height: 1.45; font-weight: 600; color: var(--ink); max-width: none; }
.wp-block-quote.is-style-feature p { max-width: 30ch; }
.wp-block-quote.is-style-feature::before { content: "״"; display: block; font-family: var(--wp--preset--font-family--display); font-size: 88px; line-height: .6; height: 40px; color: var(--coral-signature); }
.wp-block-quote.is-style-feature cite { color: var(--body); font-size: 15px; }

/* Margin quote: sits beside long text at the end side (left in RTL), aligned to the text column's edge; the text wraps around it */
.wp-block-quote.is-style-margin { float: inline-end; clear: inline-end; width: min(42%, 300px); box-sizing: border-box; margin-block: .35em var(--space-md) !important; margin-inline: var(--space-xl) max(0px, calc((100% - var(--wp--style--global--content-size, 720px)) / 2)) !important; padding: var(--space-sm) 0 0 !important; border: 0 !important; border-block-start: 2px solid var(--coral-signature) !important; font-size: 20px; line-height: 1.5; font-weight: 600; color: var(--ink); }
.wp-block-quote.is-style-margin p { max-width: none; }
.wp-block-quote.is-style-margin cite { font-size: 13px; }
.wp-block-post-content :is(h2, h3), .wp-block-post-content .wp-block-quote:not(.is-style-margin), .clod-toc-body :is(h2, h3) { clear: both; }
@media (max-width: 781px) {
	.wp-block-quote.is-style-margin { float: none; width: auto; margin-inline: 0 !important; margin-block: var(--space-lg) !important; }
}

/* Life dates (1924–2014). In RTL the bidi algorithm puts the birth year on the right, read first. */
.is-style-dates { font-family: var(--wp--preset--font-family--display); font-size: 20px; font-weight: 500; letter-spacing: .5px; color: var(--muted); font-variant-numeric: tabular-nums; margin: 0; }

/* ---------- Timeline ---------- */
.wp-block-group.is-style-timeline { position: relative; padding-inline-start: var(--space-xl); }
.wp-block-group.is-style-timeline::before { content: ""; position: absolute; inset-block: 8px; inset-inline-start: 7px; width: 2px; background: var(--hairline); }
.is-style-timeline > .wp-block-group { position: relative; padding-block-end: var(--space-md); }
.is-style-timeline > .wp-block-group > * { margin-block: 0; }
.is-style-timeline > .wp-block-group::before { content: ""; position: absolute; top: 8px; inset-inline-start: calc(-1 * var(--space-xl)); width: 16px; height: 16px; box-sizing: border-box; border-radius: 50%; background: var(--canvas); border: 2px solid var(--coral-signature); }
.is-style-timeline > .wp-block-group:last-child::before { background: var(--ink); border-color: var(--ink); }
.is-style-timeline .clod-year { font-family: var(--wp--preset--font-family--display); font-size: 22px; font-weight: 700; line-height: 1.3; color: var(--ink); margin: 0; font-variant-numeric: tabular-nums; }
.is-style-timeline .clod-year + p { margin-block-start: 2px; color: var(--body); max-width: 56ch; }

/* ---------- Family cards ---------- */
.wp-block-group.is-style-family { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-lg); border-radius: var(--radius-lg); background: var(--canvas); border: 1px solid var(--hairline); height: 100%; box-sizing: border-box; }
.is-style-family .wp-block-image { margin: 0 0 var(--space-sm); }
.is-style-family .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-md); filter: saturate(.9); }
.is-style-family h3 { font-size: 22px; line-height: 1.3; margin: 0; }
.is-style-family .is-style-dates { font-size: 16px; }
.is-style-family p:not(.is-style-dates) { font-size: 15px; color: var(--body); margin: 0; }
.is-style-family .clod-more { margin-block-start: auto; padding-block-start: var(--space-sm); font-size: 15px; font-weight: 500; }

/* ---------- Biography with contents ---------- */
.clod-toc { position: sticky; top: var(--space-lg); padding: var(--space-lg); border-radius: var(--radius-lg); background: var(--wp--preset--color--surface-soft); font-size: 15px; }
.clod-toc h2 { font-family: var(--wp--preset--font-family--sans) !important; font-size: 14px !important; font-weight: 500; color: var(--muted); margin: 0 0 var(--space-sm) !important; }
.clod-toc ol { margin: 0; padding-inline-start: 1.2em; display: grid; gap: 6px; }
.clod-toc a { color: var(--ink); text-decoration: none; }
.clod-toc a:hover, .clod-toc a:focus-visible { text-decoration: underline; }
@media (max-width: 781px) { .clod-toc { position: static; } }

/* ---------- Archive gallery: captions under the photo, never over it ---------- */
.wp-block-gallery.is-style-archive { gap: var(--space-lg) !important; }
.wp-block-gallery.is-style-archive .wp-block-image { flex-direction: column !important; align-items: stretch; }
.wp-block-gallery.is-style-archive .wp-block-image img { border-radius: var(--radius-md); aspect-ratio: 4 / 3; object-fit: cover; height: auto !important; flex: none !important; }
.wp-block-gallery.is-style-archive .wp-block-image figcaption { position: static !important; background: none !important; color: var(--body) !important; text-shadow: none !important; max-height: none !important; overflow: visible !important; padding: var(--space-xs) 0 0 !important; font-size: 14px; line-height: 1.5; text-align: start !important; }
.wp-block-gallery.is-style-archive .wp-block-image figcaption::before { display: none; }

/* ---------- Share a memory ---------- */
.wp-block-group.is-style-share { border-radius: var(--radius-lg); padding: var(--space-xxl); background: var(--surface-card); color: var(--ink); }
.is-style-share h2 { font-size: var(--wp--preset--font-size--display-sm); margin: 0; }
.is-style-share p { color: var(--body); max-width: 52ch; }

/* ---------- Memorial hero ---------- */
.clod-memorial-hero { padding-block: var(--space-section) var(--space-xxl); }
.clod-memorial-hero h1 { margin: 0; }
.clod-memorial-hero .wp-block-image img { border-radius: var(--radius-xl); width: 100%; aspect-ratio: 4 / 5; max-height: 560px; object-fit: cover; }

@media (max-width: 781px) {
	.clod-hero, .clod-memorial-hero { padding-block: var(--space-xxl); }
	.clod-memorial-hero .wp-block-image img { aspect-ratio: 4 / 3; }
	/* Family cards turn compact: a small portrait beside the text */
	.wp-block-group.is-style-family { display: grid; grid-template-columns: 88px 1fr; column-gap: var(--space-md); row-gap: 4px; align-items: start; padding: var(--space-md); }
	.is-style-family .wp-block-image { grid-row: 1 / span 4; margin: 0; }
	.is-style-family .wp-block-image img { aspect-ratio: 1 / 1; }
	.is-style-family > :not(.wp-block-image) { grid-column: 2; }
	.is-style-family .clod-more { padding-block-start: 4px; }
	.wp-block-post-content { font-size: 17px; }
	.wp-block-quote.is-style-feature { padding: var(--space-xl) var(--space-lg); }
	.wp-block-group.is-style-share { padding: var(--space-xl); }
	.wp-block-group.is-style-cta-coral, .wp-block-group.is-style-cta-dark { padding: var(--space-xl); }
}
