/*
Theme Name: Soul Province
Theme URI: https://omoade.com
Author: DJ Adé
Description: Sound Is Ceremony. The DJ Adé / Soul Province block theme: terracotta on sand, night blue, Bebas Neue + Cormorant + Inter. Built to match the DJ Adé EPK and brand kit.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.8
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: soul-province
Tags: block-patterns, full-site-editing, one-column, custom-colors, custom-logo
*/

/* ---------- Brand tokens (mirror theme.json) ---------- */
:root {
	--sp-night: #1E2B38;
	--sp-terracotta: #9E3B22;
	--sp-sand: #EADBC4;
	--sp-clay: #8E5E3B;
	--sp-bone: #F5F3EF;
	--sp-ember: #E7A487;
}

/* Sections: full-width bands. Add one of these classes to a Group block (Advanced > Additional CSS class). */
.sp-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.sp-night  { background: var(--sp-night); color: var(--sp-sand); }
.sp-terra  { background: var(--sp-terracotta); color: var(--sp-bone); }
.sp-sand   { background: var(--sp-sand); color: var(--sp-night); }
.sp-night :where(h1,h2,h3,h4), .sp-terra :where(h1,h2,h3,h4) { color: var(--sp-sand); }
.sp-night a:where(:not(.wp-element-button)), .sp-terra a:where(:not(.wp-element-button)) { color: var(--sp-sand); }
.sp-night a:where(:not(.wp-element-button)):hover, .sp-terra a:where(:not(.wp-element-button)):hover { color: var(--sp-ember); }

/* Small caps label above headings */
.sp-kicker { font-size: 0.8rem !important; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--sp-clay); margin-bottom: 0.4rem !important; }
.sp-night .sp-kicker, .sp-terra .sp-kicker { color: var(--sp-sand); opacity: 0.9; }

/* Cormorant italic tagline / pull line */
.sp-tagline { font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; color: var(--sp-clay); }
.sp-night .sp-tagline { color: var(--sp-ember); }
.sp-terra .sp-tagline { color: var(--sp-sand); }
.sp-lede { font-size: 1.15rem; max-width: 36em; }

/* Photos */
.sp-photo img { width: 100%; height: auto; display: block; object-fit: cover; }
.sp-photo-frame img { border: 8px solid var(--sp-terracotta); aspect-ratio: 4 / 5; object-fit: cover; }
.sp-photo-tall img { aspect-ratio: 4 / 5; object-fit: cover; }

/* Highlight band stats */
.sp-stat { margin: 0 !important; font-family: var(--wp--preset--font-family--bebas-neue); font-size: clamp(1.8rem, 3vw, 2.3rem); line-height: 1; color: var(--sp-bone); }
.sp-stat-sub { margin-top: 0.35rem !important; font-size: 0.9rem; color: var(--sp-sand); }

/* Cards */
.sp-card { background: #fff; padding: clamp(1.4rem, 3vw, 2rem); height: 100%; }
.sp-sand .sp-card { background: var(--sp-bone); }
.sp-night .sp-card { background: rgba(234, 219, 196, 0.07); }
.sp-card :where(h3,h4) { margin-top: 0; }
.sp-card-line { font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-size: 1.35rem; line-height: 1.3; }

/* Genre chips */
.sp-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; padding: 0; margin: 0; list-style: none; }
.sp-chips li { background: var(--sp-sand); padding: 0.55rem 1.1rem; font-weight: 600; font-size: 0.95rem; margin: 0; }

/* Lists of facts */
.sp-facts { list-style: none; padding-left: 0 !important; }
.sp-facts li { padding: 0.65rem 0; border-bottom: 1px solid rgba(142, 94, 59, 0.25); margin: 0; }
.sp-facts li strong { color: var(--sp-terracotta); }

/* Outline button on dark */
.sp-night .wp-block-button.is-style-outline > .wp-block-button__link,
.sp-terra .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--sp-sand); border: 1.5px solid var(--sp-sand); background: transparent; }
.sp-terra .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--sp-night); color: var(--sp-sand); }
.wp-block-button.is-style-outline > .wp-block-button__link { border-width: 1.5px; }

/* Header */
.sp-header { background: var(--sp-night); padding-top: 1rem; padding-bottom: 1rem; }
.sp-header .sp-logo img { width: 150px; height: auto; display: block; }
.sp-header .wp-block-navigation { color: var(--sp-sand); }
.sp-header .wp-block-navigation a:hover { color: var(--sp-ember); }
.sp-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--sp-night); color: var(--sp-sand); }

/* Footer */
.sp-footer { background: var(--sp-night); color: var(--sp-sand); padding-top: var(--wp--preset--spacing--50); padding-bottom: 2rem; }
.sp-footer .sp-logo img { width: 210px; height: auto; }
.sp-footer a { color: var(--sp-sand); }
.sp-footer a:hover { color: var(--sp-ember); }
.sp-legal { font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.75; border-top: 1px solid rgba(234, 219, 196, 0.2); padding-top: 1.25rem; margin-top: 2rem !important; }

/* Mixcloud / embeds */
.wp-block-embed.is-provider-mixcloud iframe { width: 100%; }

/* WPForms (contact form) in brand colors */
.wpforms-container {
	--wpforms-button-background-color: #9E3B22;
	--wpforms-button-text-color: #F5F3EF;
	--wpforms-button-border-radius: 0px;
	--wpforms-field-border-radius: 0px;
	--wpforms-label-color: #1E2B38;
	--wpforms-field-border-color: #C9B79C;
}

/* Remove gap between full-width bands */
.wp-site-blocks > main, .wp-site-blocks > main > .entry-content > .alignfull, main .wp-block-post-content > .alignfull { margin-block-start: 0; }
main .wp-block-post-content > * + .alignfull, main .wp-block-post-content > .alignfull + * { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Logo sizes inside page sections */
.sp-section .sp-logo img { width: 100%; max-width: 230px; height: auto; }
.sp-terra .sp-logo img { max-width: 320px; margin-left: auto; }
.sp-header .sp-logo img { width: 170px; max-width: none; }

/* Lead paragraphs: keep a readable line length, aligned to the content edge */
.is-layout-constrained > .sp-lede {
	max-width: min(40em, var(--wp--style--global--content-size)) !important;
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}

/* Contrast fixes on dark and sand bands */
.sp-night .sp-facts li strong { color: var(--sp-ember); }
.sp-terra .sp-facts li strong { color: var(--sp-sand); }
.sp-night .sp-facts li, .sp-terra .sp-facts li, .sp-footer .sp-facts li { border-bottom-color: rgba(234, 219, 196, 0.2); }
.sp-sand .sp-chips li { background: var(--sp-bone); }
.sp-night .sp-chips li { background: rgba(234, 219, 196, 0.12); color: var(--sp-sand); }

/* Galleries: keep photos portrait-friendly */
.wp-block-gallery.is-cropped .wp-block-image img { aspect-ratio: 4 / 5; }
