/* Coffee Creek Media Group: site styles (front end and editor). */

:root {
	--ccmg-brand: #945403;
	--ccmg-brand-dark: #6E3E02;
	--ccmg-espresso: #3B2A20;
	--ccmg-body: #4A3D33;
	--ccmg-muted: #6B5A4C;
	--ccmg-cream: #F7F1E8;
	--ccmg-sand: #EFE6D8;
	--ccmg-line: #E4D9C8;
	--ccmg-gold: #E0B566;
	--ccmg-section-pad: clamp(56px, 8vw, 96px);
}

body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }

/* Sections stack edge to edge, with no gaps between them. */
.ccmg-main { margin-block: 0 !important; }
.ccmg-main > .wp-block-post-content > .alignfull,
.ccmg-main > .alignfull { margin-block: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Readable line length for running text, kept aligned to the left edge of the content area. */
.wp-block-post-content .is-layout-constrained > p,
.wp-block-post-content .is-layout-constrained > .wp-block-list {
	max-width: 760px;
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}
.ccmg-placeholder.is-layout-constrained > p { margin: 0 auto !important; }

/* Header */
.ccmg-header { border-bottom: 1px solid var(--ccmg-line); position: relative; z-index: 20; }
.ccmg-header__inner { padding-block: 12px; gap: 16px; }
.ccmg-logo { display: inline-flex; align-items: center; }
.ccmg-logo img { height: 64px; width: auto; display: block; }
.ccmg-nav { font-size: 0.9375rem; font-weight: 500; gap: 26px; }
.ccmg-nav a { color: var(--ccmg-espresso); text-decoration: none; }
.ccmg-nav a:hover, .ccmg-nav a:focus { color: var(--ccmg-brand); text-decoration: underline; }
.ccmg-nav .wp-block-navigation__submenu-container { border: 1px solid var(--ccmg-line) !important; border-radius: 12px; padding: 8px 0; background: #fff !important; min-width: 270px !important; }
.ccmg-nav .wp-block-navigation__submenu-container a { padding: 8px 16px; }
.ccmg-nav .ccmg-nav-cta > a,
.ccmg-nav .ccmg-nav-cta .wp-block-navigation-item__content {
	background: var(--ccmg-brand); color: #fff !important; padding: 11px 20px; border-radius: 999px; font-weight: 600; text-decoration: none !important;
}
.ccmg-nav .ccmg-nav-cta > a:hover,
.ccmg-nav .ccmg-nav-cta .wp-block-navigation-item__content:hover { background: var(--ccmg-brand-dark); }
.ccmg-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; color: var(--ccmg-espresso); }
.ccmg-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.ccmg-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 22px !important; }
.ccmg-nav .is-menu-open .wp-block-navigation-item { font-size: 1.125rem; align-items: flex-start !important; }
.ccmg-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: 8px 0 0 16px !important; gap: 12px; }
.ccmg-nav .is-menu-open .wp-block-navigation__submenu-container a { padding: 0; }
.ccmg-nav .is-menu-open .ccmg-nav-cta .wp-block-navigation-item__content { padding: 13px 24px !important; }

/* Generic section spacing */
.ccmg-section { padding-block: var(--ccmg-section-pad); }
.ccmg-hero { padding-block: clamp(56px, 9vw, 112px); }
.ccmg-page-hero { padding-block: clamp(48px, 7vw, 80px); }
.ccmg-page-hero h1 { margin: 0; }
.ccmg-page-hero .ccmg-lead { color: var(--ccmg-sand); margin-top: 16px; }

/* Text styles */
.ccmg-eyebrow { font-size: 0.875rem !important; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ccmg-brand); margin-bottom: 0.5rem; }
.ccmg-lead { font-size: clamp(1.125rem, 1.6vw, 1.3125rem); color: var(--ccmg-body); max-width: 640px; }
.ccmg-note { font-size: 0.9375rem; color: var(--ccmg-muted); }
.ccmg-tag { font-size: 0.8125rem !important; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ccmg-brand); margin: 0; }
.ccmg-section-intro { margin-bottom: 40px; }

/* Stats strip */
.ccmg-stats { padding-block: 48px; }
.ccmg-stats .wp-block-column p { margin: 0; color: var(--ccmg-sand); font-size: 0.9375rem; }
.ccmg-stats .ccmg-stat-num { font-family: var(--wp--preset--font-family--heading); font-size: 3rem !important; font-weight: 600; line-height: 1.1; color: var(--ccmg-gold) !important; }

/* Cards */
.ccmg-cards { gap: 24px !important; }
.ccmg-card {
	background: #fff; border: 1px solid var(--ccmg-line); border-radius: 20px; padding: 32px !important;
	display: flex; flex-direction: column; gap: 12px;
}
.ccmg-card > * { margin-block: 0 !important; }
.ccmg-card h3 { font-size: 1.5rem; }
.ccmg-card .wp-block-buttons { margin-top: auto !important; padding-top: 8px; }
.ccmg-card--featured { border: 2px solid var(--ccmg-brand); }
.ccmg-card ul { padding-left: 1.2em; }

/* Prices */
.ccmg-price { font-family: var(--wp--preset--font-family--heading); font-size: 2.75rem !important; font-weight: 600; color: var(--ccmg-brand); line-height: 1.1; }

/* Photo placeholders: replace these with real images. */
.ccmg-placeholder {
	background: var(--ccmg-line); border-radius: 20px; min-height: 260px; padding: 24px !important;
	display: flex; align-items: center; justify-content: center; text-align: center;
}
.ccmg-placeholder p,
.ccmg-on-dark .ccmg-placeholder p { color: var(--ccmg-muted); font-size: 0.9375rem; margin: 0; }
.ccmg-placeholder--tall { min-height: 420px; }
.ccmg-placeholder--cover { min-height: 0; aspect-ratio: 3 / 4; padding: 8px !important; border-radius: 12px; }
.ccmg-placeholder--cover p { font-size: 0.8125rem; }
.ccmg-rounded img { border-radius: 20px; }

/* Numbered steps */
.ccmg-steps { gap: 24px !important; }
.ccmg-steps .wp-block-column { border-top: 2px solid var(--ccmg-brand); padding-top: 20px; }
.ccmg-steps h3 { font-size: 1.375rem; margin: 0 0 6px; }
.ccmg-steps p { color: var(--ccmg-body); font-size: 1rem; margin: 0; }

/* Lists with check marks */
.ccmg-checklist { list-style: none; padding-left: 0 !important; }
.ccmg-checklist li { position: relative; padding-left: 28px; margin-bottom: 8px; }
.ccmg-checklist li::before { content: ""; position: absolute; left: 4px; top: 0.55em; width: 12px; height: 7px; border-left: 2px solid var(--ccmg-brand); border-bottom: 2px solid var(--ccmg-brand); transform: rotate(-45deg); }

/* Quotes */
.ccmg-quote { font-family: var(--wp--preset--font-family--heading); font-size: 1.375rem !important; line-height: 1.45; color: var(--ccmg-espresso); }
.ccmg-quote-name { font-weight: 600; color: var(--ccmg-body); font-size: 0.9375rem; }

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--ccmg-espresso); border: 1.5px solid var(--ccmg-espresso); padding: 13px 25px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--ccmg-espresso); color: #fff; }

/* Dark and colored bands */
.ccmg-on-dark h1, .ccmg-on-dark h2, .ccmg-on-dark h3 { color: #fff; }
.ccmg-on-dark p { color: inherit; }
.ccmg-on-dark a:not(.wp-block-button__link) { color: #fff; text-decoration: underline; }
.ccmg-on-dark .ccmg-eyebrow { color: var(--ccmg-gold); }
.ccmg-on-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff; color: var(--ccmg-brand); }
.ccmg-on-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--ccmg-cream); }
.ccmg-on-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: #fff; }
.ccmg-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--ccmg-espresso); }
.ccmg-lmaf .ccmg-eyebrow { color: #FFD45C; }
.ccmg-lmaf .wp-block-button:not(.is-style-outline) > .wp-block-button__link { color: #1F4FBF; }
.ccmg-cta p { color: #F5E6D3; }

/* Photos */
.ccmg-photo { margin: 0; }
.ccmg-photo img { border-radius: 24px; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; display: block; }
.ccmg-photo-circle { margin: 0; max-width: 340px; }
.ccmg-photo-circle img { border-radius: 50%; aspect-ratio: 1 / 1; object-fit: cover; border: 8px solid var(--ccmg-cream); display: block; width: 100%; }

/* Founder headshot */
.ccmg-headshot { border-radius: 50% !important; aspect-ratio: 1 / 1; max-width: 340px; min-height: 0 !important; border: 8px solid var(--ccmg-cream); }

/* FAQ (details blocks) */
.ccmg-faq .wp-block-details { background: #fff; border: 1px solid var(--ccmg-line); border-radius: 14px; padding: 18px 22px; margin-bottom: 12px; }
.ccmg-faq .wp-block-details summary { font-weight: 600; color: var(--ccmg-espresso); cursor: pointer; }
.ccmg-faq .wp-block-details p { margin: 12px 0 0; }

/* Footer */
.ccmg-footer { padding-block: 64px 32px; font-size: 0.9375rem; }
.ccmg-footer a { color: var(--ccmg-sand); }
.ccmg-footer a:hover { color: #fff; }
.ccmg-footer__cols > .wp-block-column:first-child,
.ccmg-footer__cols > .wp-block-column:last-child { flex-grow: 1.5 !important; }
.ccmg-footer__brand { font-family: var(--wp--preset--font-family--heading); font-size: 1.375rem; font-weight: 700; color: var(--ccmg-cream); margin-bottom: 4px; }
.ccmg-footer__title { font-weight: 600; color: var(--ccmg-cream); margin-bottom: 4px; }
.ccmg-footer__cols { gap: 32px !important; }
.ccmg-footer__legal { border-top: 1px solid #5A4636; padding-top: 20px; margin-top: 40px !important; font-size: 0.8125rem; color: #C9BBA7; }

/* Small screens */
@media (max-width: 781px) {
	.ccmg-logo img { height: 52px; }
	.ccmg-card { padding: 24px !important; }
	.ccmg-placeholder--tall { min-height: 300px; }
}

/* Organizations strip */
.ccmg-trust { padding-block: 40px; border-bottom: 1px solid var(--ccmg-line); background: #fff; }
.ccmg-trust .ccmg-eyebrow { margin-bottom: 6px; color: var(--ccmg-muted); }
.ccmg-trust-names { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.25rem, 2.2vw, 1.625rem) !important; font-weight: 600; color: var(--ccmg-espresso); margin: 0; }
.ccmg-trust-names .ccmg-sep { color: var(--ccmg-brand); padding: 0 0.4em; }

/* Portfolio images */
.ccmg-work-img { margin: 0 0 8px; }
.ccmg-work-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; border: 1px solid var(--ccmg-line); display: block; background: #fff; }
.ccmg-work-img--wide img { aspect-ratio: auto; object-fit: contain; box-shadow: 0 12px 32px rgba(59, 42, 32, 0.12); }

/* Book covers */
.ccmg-covers { align-items: flex-end !important; gap: 18px !important; }
.ccmg-cover { margin: 0; }
.ccmg-cover img { width: 100%; height: auto; display: block; border-radius: 4px; box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35), 0 2px 6px rgba(0, 0, 0, 0.2); }
