/*
Theme Name:   RCDOC Regional
Description:  Event-site block theme for the Diocese of Charlotte web platform (first used for regional-2026). Colors and type live in theme.json; this file only holds details the block editor has no control for.
Author:       Diocese of Charlotte Technology Services
Version:      0.1.0
Requires at least: 6.6
Requires PHP: 8.3
License:      Proprietary. Bundled fonts: SIL OFL 1.1 (assets/fonts). Icons: Lucide, ISC (assets/icons).
Text Domain:  rcdoc-regional
*/

/* ---- Heading accent: gold rule ending in a dot (block style "Accent") ---------------- */
.is-style-accent::after {
	content: "";
	display: block;
	width: 170px;
	height: 8px;
	margin-top: 0.45rem;
	background:
		linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) 0 50% / 162px 2px no-repeat,
		radial-gradient(circle, var(--wp--preset--color--gold) 3px, transparent 3.5px) 100% 50% / 8px 8px no-repeat;
}

/* ---- Hero ------------------------------------------------------------------------------ */
.rc-eyebrow {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 33rem;
}
.rc-eyebrow::before,
.rc-eyebrow::after,
.rc-fleur-divider::before,
.rc-fleur-divider::after {
	content: "";
	flex: 1;
	height: 2px;
	background: var(--wp--preset--color--gold);
}
.rc-fleur-divider {
	display: flex !important;
	align-items: center;
	gap: 1rem;
	max-width: 33rem;
}
.rc-fleur-divider img { width: 26px !important; height: auto; }
.rc-hero h1 { text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25); }
.rc-hero .wp-block-cover__background { opacity: 1 !important; }

/* Buttons with a leading icon. The icon is a CSS mask so it takes the button's text color. */
.rc-icon-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	text-align: left;
}
.rc-icon-btn .wp-block-button__link::before {
	content: "";
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	background: currentColor;
	-webkit-mask: var(--rc-icon) center / contain no-repeat;
	mask: var(--rc-icon) center / contain no-repeat;
}
.rc-icon-calendar { --rc-icon: url(assets/icons/calendar-check.svg); }
.rc-icon-bed      { --rc-icon: url(assets/icons/bed-double.svg); }
.rc-icon-file     { --rc-icon: url(assets/icons/file-text.svg); }
.rc-icon-file .wp-block-button__link { justify-content: center; }
.rc-icon-file .wp-block-button__link::before { width: 22px; height: 22px; }

/* ---- Panels and the column dividers inside them ----------------------------------------- */
.rc-panel { border: 1px solid var(--wp--preset--color--line); }
@media (min-width: 782px) {
	.rc-divided > .wp-block-column + .wp-block-column {
		border-left: 1px solid var(--wp--preset--color--line);
		padding-left: var(--wp--preset--spacing--40);
	}
	.rc-panel-row > .wp-block-column { display: flex; }
	.rc-panel-row > .wp-block-column > .wp-block-group { flex: 1; }
}

/* "At a glance" items: icon + label/value */
.rc-fact { align-items: flex-start !important; }
.rc-fact .wp-block-image img { width: 32px; height: 32px; }
.rc-fact p { margin: 0; }
.rc-label {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--green);
}

/* Agenda lists: green bullets */
.rc-agenda ul { margin: 0; }
.rc-agenda li { margin-bottom: 0.3rem; }
.rc-agenda li::marker { color: var(--wp--preset--color--green); }

/* Speakers */
.rc-speaker img { width: min(120px, 100%); height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 3px solid var(--wp--preset--color--white); box-shadow: 0 2px 8px rgba(15,45,84,0.15); }
.rc-speaker p { margin: 0; }

/* "View all >" links */
.rc-more { flex-shrink: 0; margin-top: 0.4rem; }
.rc-more a { text-decoration: none; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.rc-more a::after { content: " ›"; }

/* Header */
.rc-header { position: relative; z-index: 10; }
.rc-wordmark p { margin: 0; line-height: 1.05; }
.home .rc-nav .wp-block-navigation-item:first-child > a {
	color: var(--wp--preset--color--green);
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--green);
	padding-bottom: 0.4rem;
}
.rc-nav a:hover { color: var(--wp--preset--color--green); }

/* Footer social icons: white glyph in a white ring */
.rc-social .wp-social-link {
	padding: 0.45rem;
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
}
.rc-footer a { color: inherit; text-decoration: none; }
.rc-footer a:hover { text-decoration: underline; }
@media (min-width: 782px) {
	.rc-footer-cols > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255, 255, 255, 0.25); padding-left: var(--wp--preset--spacing--50); }
}

/* ---- Page frame -------------------------------------------------------------------------- */
/* Header, hero and footer sit flush; the root block gap only applies inside content. */
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block-start: 0; }
.rc-front > .rc-hero { margin-block-start: 0; }
.rc-front > .rc-hero + * { margin-block-start: var(--wp--preset--spacing--50); }

/* Hero title: first line larger, as on the concept ("FINANCE & HR" over "CONFERENCE 2027"). */
.rc-hero h1::first-line { font-size: 1.3em; }

/* Wordmark: Cinzel capitals with a lowercase italic "of" */
.rc-wordmark em {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-transform: none;
}

/* Feature strip icons */
.rc-features .wp-block-image img { width: 46px; height: 46px; }

/* Sponsor logos: same visual size whatever the file's proportions */
.rc-sponsors img { width: 100%; max-height: 72px; object-fit: contain; }

/* ---- Small screens --------------------------------------------------------------------- */
@media (max-width: 781px) {
	.rc-header .wp-block-buttons { display: none; }
	.rc-brand .wp-block-image img { width: 44px !important; }
	.rc-wordmark .has-xl-font-size { font-size: 1.25rem !important; }
	.rc-wordmark .has-md-font-size { font-size: 0.8rem !important; }
	.rc-hero h1::first-line { font-size: 1em; }
	/* Core forces nowrap on is-not-stacked-on-mobile with !important; out-specify it. */
	.wp-block-columns.is-not-stacked-on-mobile.rc-sponsors { flex-wrap: wrap !important; }
	.wp-block-columns.is-not-stacked-on-mobile.rc-sponsors > .wp-block-column { flex-basis: calc(50% - 0.5rem) !important; flex-grow: 0; }
	.rc-hero .wp-block-group.has-hero-fade-gradient-background {
		background: linear-gradient(180deg, rgba(10,33,64,0.94) 0%, rgba(15,45,84,0.85) 100%) !important;
	}
}
