/* ============================================================
   DeenSpring Initiative — Brand stylesheet
   Palette: deep green #0B5D3B · gold #C9A227 · cream #F7F3E8
   Loaded after Alim parent style.css (so these rules win).
   ============================================================ */

:root {
	--ds-green:        #0B5D3B;
	--ds-green-dark:   #084328;
	--ds-green-soft:   #0e6e46;
	--ds-gold:         #C9A227;
	--ds-gold-dark:    #a8861a;
	--ds-cream:        #F7F3E8;
	--ds-cream-deep:   #efe7d3;
	--ds-ink:          #1C2B24;
	--ds-muted:        #5b6b62;
	--ds-radius:       10px;
	--ds-shadow:       0 10px 30px rgba(11,93,59,.10);
	--ds-section-y:    clamp(48px, 7vw, 96px);
}

/* ---------- Typography ---------- */
body {
	color: var(--ds-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 { color: var(--ds-ink); }
a { color: var(--ds-green); }
a:hover, a:focus { color: var(--ds-gold-dark); }

/* ---------- Re-map the theme's legacy accent colours ---------- */
/* Alim ships gold #d1ad3c + brown #5d2b00 + blue #2a486c as accents.
   Nudge brand-coloured chrome toward DeenSpring green/gold. */
.text-theme-color, .theme-color, .sec-title .title-text,
.preloader-close, .scroll-to-top { color: var(--ds-green) !important; }

/* ---------- Buttons (theme + WP + Elementor + plugins) ---------- */
.theme-btn,
.btn,
.button,
button.theme-btn,
input[type="submit"],
.wp-block-button__link,
.elementor-button,
.charitable-button,
.em-booking-button,
.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button {
	background-color: var(--ds-green) !important;
	border-color: var(--ds-green) !important;
	color: #fff !important;
	border-radius: var(--ds-radius) !important;
	font-weight: 600 !important;
	letter-spacing: .2px;
	transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.theme-btn:hover,
.btn:hover,
.button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
.charitable-button:hover,
.em-booking-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background-color: var(--ds-gold) !important;
	border-color: var(--ds-gold) !important;
	color: var(--ds-ink) !important;
	transform: translateY(-1px);
	box-shadow: var(--ds-shadow);
}

/* Gold / secondary button variant */
.theme-btn.ds-gold, .btn.ds-gold, .elementor-button.ds-gold {
	background-color: var(--ds-gold) !important;
	border-color: var(--ds-gold) !important;
	color: var(--ds-ink) !important;
}
.theme-btn.ds-gold:hover, .btn.ds-gold:hover {
	background-color: var(--ds-green) !important;
	color: #fff !important;
}

/* Donate emphasis button (used in menu / header) */
.ds-donate-btn > a {
	background: var(--ds-gold);
	color: var(--ds-ink) !important;
	padding: 10px 22px !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	box-shadow: var(--ds-shadow);
}
.ds-donate-btn > a:hover { background: var(--ds-green); color: #fff !important; }

/* ---------- Forms (Contact Form 7) ---------- */
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea,
.wpcf7 select {
	border: 1px solid var(--ds-cream-deep);
	border-radius: var(--ds-radius);
	padding: 12px 14px;
	width: 100%;
	background: #fff;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border-color: var(--ds-green);
	outline: none;
	box-shadow: 0 0 0 3px rgba(11,93,59,.12);
}

/* ---------- Plugin accents ---------- */
.charitable-progress-bar .bar,
.em-event-date,
.events-manager .em-calendar td.eventful a { background-color: var(--ds-green) !important; }
.charitable-campaign .campaign-raised .amount { color: var(--ds-green) !important; }

/* ---------- Reusable section utilities ---------- */
.ds-section      { padding-block: var(--ds-section-y); }
.ds-bg-cream     { background: var(--ds-cream); }
.ds-bg-green     { background: var(--ds-green); color: #fff; }
.ds-bg-green *   { color: inherit; }
.ds-card {
	background: #fff;
	border: 1px solid var(--ds-cream-deep);
	border-radius: 14px;
	padding: 28px;
	box-shadow: var(--ds-shadow);
}
.ds-eyebrow {
	color: var(--ds-gold-dark);
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-size: .8rem;
}

/* ---------- Header / footer chrome ---------- */
.main-footer, footer.main-footer { background: var(--ds-green-dark); }
.main-footer a { color: #e9efe9; }
.main-footer a:hover { color: var(--ds-gold); }

/* ---------- Mobile-first responsiveness ---------- */
img { max-width: 100%; height: auto; }
@media (max-width: 768px) {
	:root { --ds-section-y: clamp(36px, 9vw, 60px); }
	h1 { font-size: clamp(1.8rem, 7vw, 2.4rem) !important; line-height: 1.2; }
	h2 { font-size: clamp(1.5rem, 6vw, 2rem) !important; }
	.ds-card { padding: 20px; }
	/* Prevent horizontal overflow on small screens */
	.container, .row { max-width: 100%; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}
