/*
Theme Name: Larkhill Family Services
Template: twentytwentyfive
Description: Child theme for the Cause Camp 2026 demo sites. Larkhill is a
  fictional health and human services nonprofit. Its palette is deliberately NOT
  Charitable's brand: none of the canon brand orange, brand green or ink values
  appear here, by design. The public site must read as a real nonprofit's own
  site, not as a product tour. Charitable branding belongs in wp-admin, where the
  plugin puts it. A grep for Charitable's hex values across this theme should
  return nothing, so none are quoted even in comments.
Author: WP Charitable
Version: 1.0.0
*/

:root {
	--lk-ink:      #1b2426;
	--lk-primary:  #17494d;
	--lk-accent:   #b5472d;
	--lk-sand:     #f6f3ee;
	--lk-line:     #ddd6cc;
}

body { background: var(--lk-sand); color: var(--lk-ink); }

/* Donate buttons read as the accent, never Charitable orange. */
.charitable-donation-form .charitable-button,
.charitable-donate-button a,
.wp-block-button__link {
	background-color: var(--lk-accent);
	border-color: var(--lk-accent);
	color: #fff;
}
.charitable-donate-button a:hover,
.wp-block-button__link:hover { background-color: #9c3c25; border-color: #9c3c25; }

.wp-block-site-title a { color: var(--lk-primary); text-decoration: none; }

/* Campaign progress bars in the primary, so the page has one clear accent. */
.campaign-progress-bar .bar,
.charitable-progress-bar .bar { background-color: var(--lk-primary); }

.charitable-campaign-summary { border-top: 1px solid var(--lk-line); }

/*
 * Charitable's own front-end CSS styles its form and notice links in the
 * Charitable brand green. That is correct for the product, but on Larkhill it is
 * another organisation's colour appearing on a nonprofit's own site. Re-point
 * those at the Larkhill primary.
 *
 * The plugin emits this inline, so order alone will not win: these selectors
 * match the plugin's at equal specificity and add !important. Note that
 * !important only wins here because the specificity matches; a lower-specificity
 * !important rule would still lose.
 */
.charitable-fieldset a:not(.button),
.charitable-notice,
.charitable-notice .errors a,
.charitable-form-field a:not(.button) {
	color: var(--lk-primary) !important;
}

/*
 * Twenty Twenty-Five's page template prints the page title, which on a static
 * front page renders a stray "Home" heading above the hero. Hide it on the front
 * page only; every other page still wants its title.
 */
body.home .wp-block-post-title { display: none; }

/*
 * Twenty Twenty-Five's page template puts spacing--60 padding on the content
 * wrapper as an INLINE style, so a full-width hero on the front page renders
 * under a large empty band. Inline styles need !important to override. Front
 * page only: interior pages want that breathing room.
 */
body.home main > .wp-block-group:first-of-type { padding-top: 0 !important; }

/*
 * An over-goal campaign renders its progress bar at over 100% width (Back to
 * School Supplies sits at ~105%), which widens the whole page and clips content
 * at phone widths. Clip the bar to its track instead of letting it push layout.
 */
.campaign-progress-bar,
.charitable-progress-bar,
.campaign-loop .progress-bar {
	overflow: hidden;
	max-width: 100%;
}
.campaign-progress-bar .bar,
.charitable-progress-bar .bar,
.campaign-loop .progress-bar .bar { max-width: 100%; }

/* Nothing in a campaign card may exceed the card. */
.campaign-loop .campaign { max-width: 100%; overflow-wrap: break-word; }
