/* theme.json owns all design values; this sheet supplies responsive behaviour
   and reusable compositions that WordPress cannot express as global styles. */
:where(.wp-site-blocks, .editor-styles-wrapper) { box-sizing: border-box; overflow-wrap: anywhere; }
:where(.wp-site-blocks, .editor-styles-wrapper) *,
:where(.wp-site-blocks, .editor-styles-wrapper) *::before,
:where(.wp-site-blocks, .editor-styles-wrapper) *::after { box-sizing: border-box; }
.wp-site-blocks > * { margin-block-start: 0; }
:where(.wp-site-blocks, .editor-styles-wrapper) :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--wp--preset--color--link);
  outline-offset: 5px;
  border-radius: 2px;
}
:where(.wp-site-blocks, .editor-styles-wrapper) a { text-underline-offset: .23em; text-decoration-thickness: 1px; }
:where(.wp-site-blocks, .editor-styles-wrapper) a:hover { text-decoration-thickness: 2px; }
:where(.wp-site-blocks, .editor-styles-wrapper) img { max-width: 100%; height: auto; }
.jth-shell { width: 100%; max-width: var(--wp--style--global--wide-size); margin-inline: auto; padding-inline: var(--wp--custom--layout--gutter); }
.jth-header { padding-block: var(--wp--custom--header--top) var(--wp--custom--header--bottom); }
.jth-header-inner { border-bottom: 1px solid var(--wp--preset--color--line); padding-bottom: var(--wp--custom--header--rule-gap); gap: var(--wp--preset--spacing--32); }
.jth-header-inner > *, .jth-brand > *, .jth-footer-inner > * { margin-block: 0; }
.jth-brand-domain { line-height: 1.15; }
.jth-brand-domain a { font-family: var(--wp--preset--font-family--editorial); font-size: var(--wp--custom--brand--size); letter-spacing: -.04em; color: var(--wp--preset--color--ink); text-decoration: none; }
.jth-brand-name { margin-top: var(--wp--preset--spacing--8); color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--caption); font-weight: 400; line-height: 1.7; letter-spacing: .06em; }
.jth-navigation, .jth-navigation .wp-block-navigation__container { gap: var(--wp--custom--navigation--gap); }
.jth-navigation .wp-block-navigation-item__content { display: inline-block; padding-block: var(--wp--preset--spacing--8); font-size: var(--wp--preset--font-size--navigation); line-height: 1.4; text-decoration: none; }
.jth-navigation .wp-block-navigation-item__content:hover { text-decoration: underline; }
.jth-main { padding-block: var(--wp--custom--main--top) var(--wp--custom--main--bottom); }
.jth-footer { padding-bottom: var(--wp--custom--footer--bottom); }
.jth-footer-inner { border-top: 1px solid var(--wp--preset--color--line); padding-top: var(--wp--preset--spacing--26); gap: var(--wp--preset--spacing--20); }
.jth-footer-name { font-family: var(--wp--preset--font-family--editorial); font-size: var(--wp--preset--font-size--footer-name); font-weight: 400; line-height: 1.7; letter-spacing: normal; }
.jth-footer-meta { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--caption); }
.jth-footer-social { font-size: var(--wp--preset--font-size--small); }
.is-style-jonathan-card { background: var(--wp--preset--color--card); border: 1px solid var(--wp--custom--card--border); border-radius: var(--wp--custom--radius); padding: var(--wp--custom--card--padding); min-height: 100%; }
.is-style-jonathan-card > :first-child { margin-block-start: 0; }
.is-style-jonathan-card > :last-child { margin-block-end: 0; }
.is-style-jonathan-lead { font-size: var(--wp--custom--lead--size); line-height: 1.65; max-width: var(--wp--custom--lead--width); }
.is-style-jonathan-eyebrow { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--eyebrow); line-height: 1.5; text-transform: uppercase; letter-spacing: .18em; }
.wp-block-quote p { font-size: var(--wp--custom--quote--size); line-height: 1.5; }
.wp-block-quote cite { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-style: normal; }
:is(.jth-main, .editor-styles-wrapper) .is-style-jonathan-card > .wp-block-heading:first-child { margin-block-start: 0; }
/* Flow layouts reset child margins; restore the editorial rhythm in content
   and apply the same values inside the visual editor. */
:is(.jth-main, .editor-styles-wrapper) .wp-block-heading { margin-block-start: var(--wp--preset--spacing--32); margin-block-end: var(--wp--custom--heading--gap); }
:is(.jth-main, .editor-styles-wrapper) h1.wp-block-heading { margin-block-start: 0; margin-block-end: var(--wp--custom--heading--title-gap); }
:is(.jth-main, .editor-styles-wrapper) h2.wp-block-heading { margin-block-end: var(--wp--custom--heading--section-gap); }
:is(.jth-main, .editor-styles-wrapper) h3.wp-block-heading { margin-block-end: var(--wp--custom--heading--subheading-gap); }
.jth-main .wp-block-paragraph, .editor-styles-wrapper .block-editor-block-list__layout p.wp-block-paragraph { margin-block-start: 0; margin-block-end: var(--wp--preset--spacing--20); }
:is(.jth-main, .editor-styles-wrapper) .is-style-jonathan-card > :last-child { margin-block-end: 0; }
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 1px; }
/* Dynamic templates share the same editorial rhythm as the original cards. */
.jth-main > .wp-block-query-title,
.jth-main > .wp-block-post-title { margin-block-start: 0; margin-block-end: var(--wp--custom--heading--title-gap); }
.jth-main > .is-style-jonathan-eyebrow { margin-block-end: var(--wp--preset--spacing--16); }
.jth-archive-description { color: var(--wp--preset--color--muted); margin-block-end: var(--wp--preset--spacing--32); }
.jth-archive-description:empty { display: none; }
.jth-post-list { display: grid; gap: var(--wp--custom--listing--gap); padding: 0; }
.jth-post-list > li { margin: 0; }
.jth-post-categories { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); margin-block: 0 var(--wp--preset--spacing--10); }
.jth-post-date { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--caption); letter-spacing: .035em; margin-block: 0 var(--wp--preset--spacing--16); }
.jth-post-card > .jth-card-title { font-family: var(--wp--preset--font-family--editorial); font-size: var(--wp--custom--listing--title-size); margin-block: 0 var(--wp--preset--spacing--16); }
.jth-card-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.jth-card-title a:hover { text-decoration: underline; }
.jth-post-excerpt { color: var(--wp--preset--color--muted); font-size: var(--wp--custom--listing--excerpt-size); line-height: 1.7; }
.jth-post-excerpt__excerpt, .jth-post-excerpt p { margin-block: 0; }
.jth-post-excerpt .wp-block-post-excerpt__more-text { margin-block-start: var(--wp--preset--spacing--20); }
.jth-pagination { gap: var(--wp--preset--spacing--16); margin-block-start: var(--wp--preset--spacing--32); font-size: var(--wp--preset--font-size--navigation); }
.jth-pagination .page-numbers { display: inline-block; padding: var(--wp--preset--spacing--8); }
.jth-pagination .current { color: var(--wp--preset--color--ink); font-weight: 700; }
.jth-reading > .jth-reading-title { font-size: var(--wp--custom--reading--title-size); }
.jth-reading .wp-block-post-content { line-height: var(--wp--custom--reading--line-height); margin-block-start: var(--wp--preset--spacing--32); }
.wp-block-post-content p { margin-block: 0 var(--wp--preset--spacing--20); }
.jth-reading .jth-back { font-size: var(--wp--preset--font-size--small); margin-block-end: var(--wp--preset--spacing--24); }
.jth-reading .wp-block-post-content + .jth-back { border-top: 1px solid var(--wp--preset--color--line); padding-block-start: var(--wp--preset--spacing--24); margin-block-start: var(--wp--preset--spacing--36); }
.jth-search { margin-block: var(--wp--preset--spacing--24) var(--wp--preset--spacing--32); }
.jth-search .wp-block-search__label { display: block; font-size: var(--wp--preset--font-size--small); margin-bottom: var(--wp--preset--spacing--8); }
.jth-search .wp-block-search__inside-wrapper { gap: var(--wp--preset--spacing--10); }
.jth-search .wp-block-search__input { min-width: 0; padding: var(--wp--preset--spacing--10); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font: inherit; }
.jth-search .wp-block-search__button { flex-shrink: 0; margin: 0; border: 0; background: var(--wp--preset--color--link); color: var(--wp--preset--color--paper); border-radius: var(--wp--custom--radius); padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--16); font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--navigation); cursor: pointer; }
.jth-search .wp-block-search__button:hover { background: var(--wp--preset--color--ink); }
@media (max-width: 700px) {
  :root, .editor-styles-wrapper {
    --wp--custom--layout--gutter: var(--wp--custom--mobile--gutter);
    --wp--custom--brand--size: var(--wp--custom--mobile--brand-size);
    --wp--custom--header--top: var(--wp--custom--mobile--header-top);
    --wp--custom--header--bottom: var(--wp--custom--mobile--header-bottom);
    --wp--custom--header--rule-gap: var(--wp--custom--mobile--header-rule-gap);
    --wp--custom--navigation--gap: var(--wp--custom--mobile--navigation-gap);
    --wp--custom--main--top: var(--wp--custom--mobile--main-top);
    --wp--custom--main--bottom: var(--wp--custom--mobile--main-bottom);
    --wp--custom--footer--bottom: var(--wp--custom--mobile--footer-bottom);
    --wp--custom--card--padding: var(--wp--custom--mobile--card-padding);
    --wp--custom--lead--size: var(--wp--custom--mobile--lead-size);
    --wp--custom--quote--size: var(--wp--custom--mobile--quote-size);
    --wp--preset--font-size--eyebrow: var(--wp--custom--mobile--eyebrow-size);
    --wp--preset--font-size--body: var(--wp--custom--mobile--body-size);
    --wp--preset--font-size--title: var(--wp--custom--mobile--title-size);
    --wp--preset--font-size--heading: var(--wp--custom--mobile--heading-size);
    --wp--preset--font-size--subheading: var(--wp--custom--mobile--subheading-size);
    --wp--custom--listing--title-size: var(--wp--custom--mobile--card-title-size);
    --wp--custom--reading--title-size: var(--wp--custom--mobile--reading-title-size);
  }
  .jth-header-inner { flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--16); }
  .jth-navigation { width: 100%; }
  .jth-navigation .wp-block-navigation-item__content { padding-block: var(--wp--custom--mobile--navigation-padding); }
  .jth-footer-inner { flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--10); }
}

/* The plugin owns cards and players; the block theme owns shared chrome. */
.jth-video-page { font-size:16px; line-height:1.65; }
.jth-video-page h1 { font:normal 44px/1.15 var(--wp--preset--font-family--editorial); letter-spacing:-.025em; margin:12px 0 20px; }
.jth-video-page .jwv-player { max-width:400px; }
.jth-video-page .jwv-instagram { position:relative; max-width:540px; }
.jth-video-page .jwv-instagram iframe { display:block; width:100%!important; min-width:0!important; max-width:100%!important; box-sizing:border-box!important; }
@media (max-width:700px) { .jth-video-page h1 { font-size:34px; } }
