/* River theme: only what theme.json cannot express. Brand colours/type are in theme.json. */

/* ---------- Header ----------
   Normal pages: the header sticks to the top on a white bar.
   "Page with hero": the header floats over the first block with white links, then turns into the
   same white bar once the visitor scrolls (assets/js/river.js adds .river-scrolled to <html>). */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
html { scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 110px); }   /* in-page jumps (#gather) stop below the sticky header, not under it */
.wp-site-blocks > header.wp-block-template-part:has(.river-header--overlay) { position: fixed; left: 0; right: 0; }
.river-header { padding-block: 1.1rem; background: #fff; transition: padding .25s ease, background-color .25s ease, box-shadow .25s ease; }
.river-header .river-logo img { width: 72px; height: auto; display: block; transition: width .25s ease; }
.river-header .wp-block-navigation-item__content { padding: .35rem .1rem; }
.river-header .wp-block-navigation__container { gap: clamp(1rem, 2.2vw, 2.4rem); }
.river-header .wp-block-navigation a:hover, .river-header .wp-block-navigation a:focus-visible { color: var(--wp--preset--color--river-green); }
.river-scrolled .river-header { padding-block: .55rem; box-shadow: 0 2px 18px rgba(0,0,0,.08); }
.river-scrolled .river-header .river-logo img { width: 52px; }

.river-header--overlay { background: transparent; }
html:not(.river-scrolled) .river-header--overlay { background: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,0)); }
html:not(.river-scrolled) .river-header--overlay .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
html:not(.river-scrolled) .river-header--overlay .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon,
html:not(.river-scrolled) .river-header--overlay .wp-block-navigation__responsive-container-open { color: #fff; }
html:not(.river-scrolled) .river-header--overlay .wp-block-navigation__container > .wp-block-navigation-item > a:hover { color: var(--wp--preset--color--foam); }
.river-scrolled .river-header--overlay { background: #fff; }
.page-template-page-hero main > .wp-block-post-content > :first-child { margin-top: 0; }

/* Desktop dropdowns: always dark text on white, whatever the header colour */
.river-header .wp-block-navigation .wp-block-navigation__submenu-container {
  background: #fff !important; color: var(--wp--preset--color--black) !important;
  border: 0 !important; border-radius: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.16);
  padding: .5rem 0; min-width: 230px !important; letter-spacing: .08em; top: calc(100% + .35rem);
}
.river-header .wp-block-navigation .wp-block-navigation__submenu-container::before { content: ""; position: absolute; inset: -.6rem 0 auto 0; height: .6rem; } /* hover bridge */
.river-header .wp-block-navigation .wp-block-navigation__submenu-container a { color: var(--wp--preset--color--black) !important; padding: .6rem 1.35rem !important; }
.river-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover,
.river-header .wp-block-navigation .wp-block-navigation__submenu-container a:focus-visible { background: var(--wp--preset--color--mist); color: var(--wp--preset--color--pine) !important; }

/* Phone menu: full-screen Deep Water panel, big tap targets, sections fold open (river.js) */
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 32px; height: 32px; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem 2.5rem; background: var(--wp--preset--color--deep-water) !important; color: #fff !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; width: 100%; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid rgba(255,255,255,.12); width: 100%; flex-wrap: wrap; flex-direction: row !important; align-items: center !important; justify-content: space-between; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 1.15rem; padding: 1rem 0 !important; color: #fff !important; flex: 1; }
.is-menu-open .wp-block-navigation-item a:hover { color: var(--wp--preset--color--sage) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { display: inline-flex !important; width: 44px; height: 44px; align-items: center; justify-content: center; color: #fff; padding: 0; margin: 0; background: transparent; border: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle svg { display: block !important; width: 16px; height: 16px; stroke: currentColor; transition: transform .2s ease; }
.is-menu-open .river-sub-open > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  background: transparent !important; box-shadow: none !important; border-radius: 0; min-width: 0 !important;
  padding: 0 0 .75rem .9rem !important; width: 100%; display: none !important; position: static !important;
  opacity: 1 !important; visibility: visible !important; height: auto !important;
}
.wp-block-navigation__responsive-container.is-menu-open .river-sub-open > .wp-block-navigation__submenu-container { display: flex !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { color: rgba(255,255,255,.88) !important; padding: .55rem 0 !important; font-size: 1rem; letter-spacing: .06em; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; top: 1.25rem; right: 1.25rem; }

/* ---------- Cards ---------- */
.is-style-river-card { border-radius: var(--wp--custom--radius--card); overflow: hidden; box-shadow: var(--wp--preset--shadow--card); background: #fff; }
.wp-block-cover.is-style-river-card { background: transparent; }
.wp-block-cover.is-style-river-card .wp-block-cover__inner-container h3 { text-transform: uppercase; font-weight: 900; letter-spacing: .02em; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-river-white .wp-block-button__link { background: #fff; color: var(--wp--preset--color--pine); box-shadow: var(--wp--preset--shadow--soft); }
.wp-block-button.is-style-river-white .wp-block-button__link:hover { background: var(--wp--preset--color--mist); color: var(--wp--preset--color--pine); }
.wp-block-button.is-style-river-ghost-light .wp-block-button__link { background: transparent; color: #fff; border: 2px solid #fff; }
.wp-block-button.is-style-river-ghost-light .wp-block-button__link:hover { background: rgba(255,255,255,.12); }

/* ---------- Eyebrow text ---------- */
.is-style-river-eyebrow { text-transform: uppercase; letter-spacing: .16em; font-weight: 700; font-size: .875rem; }

/* ---------- Footer contact tiles ---------- */
.river-tile-icon { width: 70px; height: 70px; margin-inline: auto; border-radius: 16px; background: #555 center / 34px no-repeat; }
.river-tile-icon.is-mail  { background-image: url("../img/icon-mail.svg"); }
.river-tile-icon.is-phone { background-image: url("../img/icon-phone.svg"); }
.river-tile-icon.is-map   { background-image: url("../img/icon-map.svg"); }
.river-tile-icon.is-give  { background-image: url("../img/icon-give.svg"); }
.river-footer a { color: #fff; text-decoration: none; }
.river-footer a:hover { color: var(--wp--preset--color--sage); }

/* ---------- Full-width sections sit flush (no root block gap between them) ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.wp-block-columns.alignfull > .wp-block-column { display: flex; flex-direction: column; justify-content: center; }
.river-tile-icon.is-clock { background-image: url("../img/icon-clock.svg"); }
.river-tile-icon.is-heart { background-image: url("../img/icon-heart.svg"); }
.river-tile-icon.is-calendar { background-image: url("../img/icon-calendar.svg"); }
.river-tile-icon.is-people { background-image: url("../img/icon-people.svg"); }
.river-tile-icon.is-church { background-image: url("../img/icon-church.svg"); }
.river-tile-icon.is-book { background-image: url("../img/icon-book.svg"); }
.river-tile-icon.is-music { background-image: url("../img/icon-music.svg"); }
.river-tile-icon.is-play { background-image: url("../img/icon-play.svg"); }
.river-tile-icon.is-info { background-image: url("../img/icon-info.svg"); }
.river-tile-icon.is-link { background-image: url("../img/icon-link.svg"); }
/* Icon tiles inside page sections use River Green, not the footer's grey */
.wp-block-post-content .river-tile-icon { background-color: var(--wp--preset--color--river-green); }
.has-river-gradient-background .river-tile-icon { background-color: var(--wp--preset--color--pine); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { flex: 0 0 100% !important; align-items: flex-start !important; text-align: left; right: auto !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; justify-content: flex-start; align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a:focus { background: transparent !important; color: var(--wp--preset--color--sage) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle svg { transform: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .river-sub-open > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg) !important; }

/* ---------- Icon-tile rows (location facts, next steps, footer): two-up on phones, not one tall stack ---------- */
@media (max-width: 781px) {
  .wp-block-columns:has(> .wp-block-column > .river-tile-icon) { display: grid !important; grid-template-columns: 1fr 1fr; gap: 2rem 1rem; }
  .wp-block-columns:has(> .wp-block-column > .river-tile-icon) > .wp-block-column { flex-basis: auto !important; }
  .river-tile-icon { width: 58px; height: 58px; background-size: 28px; border-radius: 14px; }
}
.river-step h3 { font-size: 1.25rem; margin-top: .9rem; }
.river-step p { margin-block: .4rem 0; }
.river-step__link a { font-weight: 700; text-decoration: none; color: var(--wp--preset--color--pine); }
.river-step__link a::after { content: " →"; }
.river-step__link a:hover { color: var(--wp--preset--color--river-green); }

/* ---------- Accordions (Details block): a real, tappable accordion ---------- */
.wp-block-details { border-top: 1px solid rgba(0,0,0,.12); padding: 0; margin-block: 0 !important; }
.wp-block-details:last-of-type { border-bottom: 1px solid rgba(0,0,0,.12); }
.has-white-color .wp-block-details, .has-background:not(.has-white-background-color):not(.has-mist-background-color) .wp-block-details { border-color: rgba(255,255,255,.25); }
.wp-block-details summary { list-style: none; cursor: pointer; font-weight: 700; padding: 1rem 2.5rem 1rem 0; position: relative; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-size: 1.6rem; font-weight: 400; line-height: 1; transition: transform .2s ease; }
.wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
/* Open accordion = its own tinted panel with a green edge, so several open ones read as separate sections */
.wp-block-details { transition: background-color .2s ease; }
.wp-block-details > :not(summary) { margin-block: 0 1rem; }
.wp-block-details > :last-child:not(summary) { margin-bottom: 0; }
.wp-block-details[open] { background: var(--wp--preset--color--mist, #f6f8f7); box-shadow: inset 4px 0 0 var(--wp--preset--color--river-green, #38bba2); padding: 0 1.25rem 1.75rem 1.5rem; margin-block: .5rem !important; border-radius: 0 10px 10px 0; border-top-color: transparent; }
.wp-block-details[open] + .wp-block-details { border-top-color: transparent; }
.wp-block-details[open] summary { padding-right: 2.5rem; color: var(--wp--preset--color--pine, #1d5d51); }
.has-white-color .wp-block-details[open], .has-background:not(.has-white-background-color):not(.has-mist-background-color) .wp-block-details[open] { background: rgba(255,255,255,.1); box-shadow: inset 4px 0 0 rgba(255,255,255,.7); }
.has-white-color .wp-block-details[open] summary, .has-background:not(.has-white-background-color):not(.has-mist-background-color) .wp-block-details[open] summary { color: inherit; }
.wp-block-details summary:focus-visible { outline: 3px solid var(--wp--preset--color--river-green); outline-offset: 2px; }

/* ---------- Pagination (query loops, search, archives) ---------- */
.wp-block-query-pagination { gap: .4rem; margin-top: var(--wp--preset--spacing--40) !important; justify-content: center; flex-wrap: wrap; }
.wp-block-query-pagination-numbers { display: flex; gap: .3rem; flex-wrap: wrap; justify-content: center; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers, .river-pager a, .river-pager span {
  min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 .85rem;
  border-radius: 999px; text-decoration: none; font-weight: 700; color: inherit; }
.wp-block-query-pagination a:hover, .river-pager a:hover { background: rgba(0,0,0,.06); }
.wp-block-query-pagination .page-numbers.current, .river-pager .current { background: var(--wp--preset--color--river-green); color: #fff; }
.has-white-color .wp-block-query-pagination a:hover { background: rgba(255,255,255,.15); }

/* ---------- Keyboard focus that is always visible ---------- */
a:focus-visible, button:focus-visible, .wp-element-button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--wp--preset--color--river-green); outline-offset: 2px; }

/* ---------- Buttons sit on one baseline and wrap tidily ---------- */
.wp-block-buttons { gap: .75rem; }
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.wp-block-button__link:active { transform: translateY(1px); }
.river-step { display: flex; flex-direction: column; }
.river-step .river-step__link { margin-top: auto !important; padding-top: .5rem; }

/* ---------- Search ---------- */
.river-search .wp-block-search__inside-wrapper { border: 2px solid var(--wp--preset--color--sage); border-radius: 999px; padding: .3rem; background: #fff; }
.river-search .wp-block-search__input { border: 0; padding: .6rem 1rem; font: inherit; background: transparent; }
.river-search .wp-block-search__input:focus { outline: none; }
.river-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--wp--preset--color--river-green); box-shadow: 0 0 0 3px rgba(56,187,162,.2); }
.river-search .wp-block-search__button { border-radius: 999px; margin-left: .3rem; padding: .6rem 1.4rem; }
.river-results { margin-top: var(--wp--preset--spacing--40); }
.river-results .wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.river-result { padding-block: 1.25rem; border-bottom: 1px solid rgba(0,0,0,.08); }
.river-result > * { margin-block: 0 !important; }
.river-result > * + * { margin-top: .35rem !important; }
.river-result .wp-block-post-title a { text-decoration: none; }
.river-result .wp-block-post-title a:hover { color: var(--wp--preset--color--river-green); }
.river-result .wp-block-post-excerpt__excerpt { color: #4a4a4a; margin: 0; }
.river-result .wp-block-post-excerpt__more-text { display: none; }
.river-result-label { font-size: .875rem; color: var(--wp--preset--color--muted); margin: 0; }
.river-result-label span { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 999px; background: var(--wp--preset--color--foam); color: var(--wp--preset--color--deep-water); margin-right: .4rem; }
.river-result-label.is-river_event span { background: #fde7c8; color: #6b3d00; }
.river-result-label.is-post span { background: #e4e0f7; color: #33276b; }
.river-result-label.is-page span { background: var(--wp--preset--color--mist); color: #333; border: 1px solid #ddd; }

/* ---------- Outline button (any button can take it) ---------- */
.wp-block-button.river-btn-outline .wp-block-button__link { background: #fff; color: var(--wp--preset--color--pine); border: 2px solid var(--wp--preset--color--sage); }
.wp-block-button.river-btn-outline .wp-block-button__link:hover { border-color: var(--wp--preset--color--river-green); color: var(--wp--preset--color--river-green); background: #fff; }

/* ---------- Devotion / post pages ---------- */
.river-byline { gap: .25rem .9rem; color: var(--wp--preset--color--muted); font-size: .9375rem; margin-top: .25rem !important; }
.river-byline .wp-block-post-terms a { color: inherit; text-decoration: none; font-weight: 500; }
.river-post-nav { margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.25rem; border-top: 1px solid rgba(0,0,0,.1); gap: 1rem; }
.river-post-nav .post-navigation-link-next { margin-left: auto; text-align: right; }
.river-post-nav a { text-decoration: none; font-weight: 700; }
.river-post-nav .wp-block-post-navigation-link__label { display: block; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 700; }

/* Study-guide contents list */
.river-toc-list { list-style: none; padding: 0; max-width: 640px; margin-inline: auto !important; }
.river-toc-list li { border-bottom: 1px solid rgba(0,0,0,.08); }
.river-toc-list a { display: block; padding: .9rem .25rem; font-weight: 700; text-decoration: none; }
.river-toc-list a:hover { color: var(--wp--preset--color--river-green); }

/* ---------- Footer ---------- */
.river-footer { font-size: .9375rem; }
.river-footer a { color: #fff; text-decoration: none; }
.river-footer a:hover { color: var(--wp--preset--color--sage); }
.river-footer__about p { color: rgba(255,255,255,.75); max-width: 18rem; }
.river-footer__logo img { height: auto; }
.river-footer__heading { font-size: .8rem !important; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--river-green) !important; margin: 0 0 1rem !important; }
.river-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.river-footer__list li { line-height: 1.35; }
.river-footer__locs { grid-template-columns: 1fr 1fr; gap: .55rem 1.25rem; }
.river-footer__time { display: block; font-size: .8125rem; color: rgba(255,255,255,.6); }
.river-footer__social { gap: .9rem !important; margin-top: 1.25rem !important; }
.river-footer__social .wp-social-link a { padding: 0; }
.river-footer__bottom { border-top: 1px solid rgba(255,255,255,.15); padding-top: 1.25rem; gap: .5rem 2rem; font-size: .8125rem; color: rgba(255,255,255,.65); }
.river-footer__bottom p { margin: 0; }
.river-footer__bottom a { color: rgba(255,255,255,.8); }
.river-footer .wp-block-button.is-style-river-white .wp-block-button__link { padding: .65rem 1.4rem; font-size: .9375rem; margin-top: .5rem; }
@media (max-width: 781px) {
  .river-footer__grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 2.25rem 1.25rem !important; }
  .river-footer__grid > .river-footer__about, .river-footer__grid > .wp-block-column:nth-child(2) { grid-column: 1 / -1; }
}

/* Cards inside a coloured (white-text) section keep dark text: the card itself is white */
.is-style-river-card:not(.has-text-color) { color: var(--wp--preset--color--black); }
.is-style-river-card .wp-block-post-excerpt__more-text { display: none; }
.wp-block-post-template .is-style-river-card { height: 100%; box-sizing: border-box; }

/* A grid holding a single card centres it instead of leaving it stranded in the first column */
.wp-block-group.is-layout-grid:has(> :only-child) { grid-template-columns: minmax(0, 26rem) !important; justify-content: center; }
.wp-block-group.is-layout-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 26rem)) !important; justify-content: center; }
@media (max-width: 600px) { .wp-block-group.is-layout-grid:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr) !important; } }

/* Devotions: today's devotion is one wide card, centred */
.river-today .wp-block-post-template { grid-template-columns: minmax(0, 44rem) !important; justify-content: center; }
.river-today .is-style-river-card { padding: 2rem !important; }
.wp-block-post-template .is-style-river-card .wp-block-post-title a { text-decoration: none; }
.wp-block-post-template .is-style-river-card .wp-block-post-title a:hover { color: var(--wp--preset--color--river-green); }

/* "Page with hero": the header floats over the first Cover, so its words start below the header */
.page-template-page-hero .wp-block-post-content > .wp-block-cover:first-child { padding-top: calc(110px + var(--wp--preset--spacing--30)); }
@media (max-width: 781px) { .page-template-page-hero .wp-block-post-content > .wp-block-cover:first-child { padding-top: 100px; } .page-template-page-hero .wp-block-post-content > .wp-block-cover:first-child[style*="vh"] { min-height: min(75vh, 640px) !important; } }

/* A hero with no photo or video (a colour band with a title) is a compact band, not a screen-high block */
.page-template-page-hero .wp-block-post-content > .wp-block-cover:first-child:not(:has(.wp-block-cover__image-background, .wp-block-cover__video-background)) { min-height: 0 !important; padding-bottom: 3rem; }
@media (max-width: 781px) {
  .page-template-page-hero .wp-block-post-content > .wp-block-cover:first-child:not(:has(.wp-block-cover__image-background, .wp-block-cover__video-background)) { padding-bottom: 2.5rem; }
}
/* A page that opens with a coloured section instead of a Cover (River Kids' logo band) gets the same room for the header */
.page-template-page-hero .wp-block-post-content > .wp-block-group.alignfull.has-background:first-child { padding-top: calc(110px + var(--wp--preset--spacing--30)) !important; }
@media (max-width: 781px) { .page-template-page-hero .wp-block-post-content > .wp-block-group.alignfull.has-background:first-child { padding-top: 100px !important; } }
/* No white strip between a page's last coloured section and the footer */
main.wp-block-group:has(> .wp-block-post-content > .alignfull.has-background:last-child) { padding-bottom: 0 !important; }
main.wp-block-group:has(> .wp-block-post-content > .alignfull.has-background:last-child) + * , .wp-site-blocks > footer { margin-block-start: 0; }
/* Photos on cards in a grid share one shape, so rows line up and phones scroll less */
.is-layout-grid > .wp-block-group > .wp-block-image.is-style-river-card img,
.is-layout-grid > .wp-block-image.is-style-river-card:not(:has(a[href^="/"])) img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }

/* Long web addresses and emails wrap instead of pushing the page sideways on a phone */
.wp-site-blocks { overflow-wrap: break-word; }
/* Wide tables (Bible-in-a-Year plan) scroll sideways inside themselves, never the page */
main table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-collapse: collapse; }
main table td, main table th { padding: .45rem .6rem; border-bottom: 1px solid rgba(0,0,0,.08); }
/* Links that are a whole heading line (study-guide contents) get a finger-sized target */
main :is(h3, h4, h5, h6) > a:only-child { display: inline-block; padding-block: .3rem; }

/* A picture narrower than its column sits in the middle, not hard left (River Kids logo, 2026-11-08) */
.wp-block-image:not(.alignleft):not(.alignright) { text-align: center; }

/* "Where we meet" location cards (Students, Young Adults): compact, every card the same */
.river-loc-cards { gap: 1rem !important; }
.river-loc-card { background: var(--wp--preset--color--mist, #f6f8f7); border-radius: 14px; padding: 1.25rem 1rem 1.4rem; text-align: center; }
.has-background:not(.has-white-background-color):not(.has-mist-background-color) .river-loc-card { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); }
.river-loc-card > * { margin-block: 0 !important; }
.river-loc-card > * + * { margin-block-start: .45rem !important; }
.river-loc-card h3 { font-size: 1.2rem; line-height: 1.25; }
.river-loc-card p { font-size: .95rem; line-height: 1.45; }
.river-loc-card .wp-block-buttons { margin-block-start: .9rem !important; justify-content: center; }

/* Side-by-side halves of an edge-to-edge Columns block keep a margin, so a video or a paragraph never touches the screen edge */
.wp-block-columns.alignfull > .wp-block-column > .wp-block-group { padding-left: clamp(1.25rem, 4vw, 3rem); padding-right: clamp(1.25rem, 4vw, 3rem); }

/* Book cards (Media + Bookstore): the whole cover at its own book shape, all of it one link, a button under it */
.is-layout-grid > .wp-block-group.river-book { gap: .85rem; align-items: stretch; }
.is-layout-grid > .wp-block-group.river-book > .wp-block-image { width: 100%; margin: 0; transition: transform .2s ease, box-shadow .2s ease; }
.is-layout-grid > .wp-block-group.river-book > .wp-block-image a { display: block; }
.is-layout-grid > .wp-block-group.river-book > .wp-block-image img { aspect-ratio: 663 / 1024; height: auto; width: 100%; object-fit: cover; display: block; user-select: none; -webkit-user-drag: none; }  /* our cover files' own shape (≈2:3) */
.is-layout-grid > .wp-block-group.river-book { justify-content: flex-start; }
.river-book > .wp-block-image:hover, .river-book > .wp-block-image:focus-within { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.river-book > .wp-block-buttons { justify-content: center; }
.river-book .wp-block-button__link { width: 100%; text-align: center; }
/* Podcast artwork shows whole (it carries words) */
#recentpodcasts .is-layout-grid .wp-block-image img { aspect-ratio: 1 / 1 !important; height: auto; object-fit: contain !important; }  /* podcast artwork is square */
#recentpodcasts .is-layout-grid .wp-block-image a { display: block; }
/* Book grids: book-sized columns (about 6 across on a laptop, 2 on a phone), centred when there are only a few */
.is-layout-grid:has(> .river-book) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 14rem)) !important; justify-content: center; }
.river-book .wp-block-button__link { font-size: .9rem; padding: .55rem .8rem; }
/* Location pages' pastor + info row on a phone: less air, and the info tiles two to a row */
@media (max-width: 781px) {
  .river-location-intro > .wp-block-column > .wp-block-group { padding-top: 2rem !important; padding-bottom: 1rem !important; }
  .river-location-intro > .wp-block-column:last-child > .wp-block-group { padding-top: 1rem !important; padding-bottom: 2.5rem !important; }
  .river-location-intro .is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.5rem 1rem !important; }
  .river-location-intro .is-layout-grid h3 { font-size: 1.1rem; }
}

/* Staff page: "Jump to a team" — one compact row of pills under the staff search (2026-11-09) */
.river-team-jump__label { margin: 1.5rem auto .5rem !important; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.wp-block-buttons.river-team-jump { gap: .4rem !important; margin-top: 0 !important; }
.river-team-jump .wp-block-button__link { padding: .35rem .85rem !important; font-size: .9rem !important; line-height: 1.3; border-radius: 999px; background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,.65) !important; }
.river-team-jump .wp-block-button__link:hover, .river-team-jump .wp-block-button__link:focus-visible { background: #fff !important; color: var(--wp--preset--color--deep-water, #0f3b44) !important; }

/* Cards in a grid (e.g. Holiday Help): equal height, buttons line up at the bottom; "details" lines (When / Where)
   get a quiet rule above them. A card's own links stay pine even inside a dark band. */
.is-layout-grid > .wp-block-group.is-style-river-card.is-vertical { height: 100%; box-sizing: border-box; }
.wp-block-group.is-style-river-card.is-vertical > .wp-block-buttons:last-child { margin-top: auto; padding-top: .5rem; }
.wp-block-group.is-style-river-card.is-vertical > * { margin-block: 0; }
.river-hh-details { border-top: 1px solid var(--wp--preset--color--light-gray); padding-top: .75rem; font-size: .9375rem; line-height: 1.6; }
.is-style-river-card:not(.has-text-color) a:not(.wp-element-button) { color: var(--wp--preset--color--pine); }
.is-style-river-card .wp-block-button__link { font-size: .9375rem; }
