/*
Theme Name: Controlled Media
Theme URI: https://www.controlledmedia.co.uk/
Author: Controlled Media
Author URI: https://www.controlledmedia.co.uk/
Description: A wide, editorial full-site-editing block theme for Controlled Media, with reusable and editable patterns for the homepage content areas and a nine-post news grid.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: controlled-media
Tags: full-site-editing, block-patterns, wide-blocks, blog, business, editor-style, block-styles
*/

/* ---------------------------------------------------------
   Controlled Media — supplementary styles
   Colours, spacing and type live in theme.json.
   --------------------------------------------------------- */

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Wide, edge-aware container */
.cm-full-bleed {
	position: relative;
}

/* Eyebrow / kicker label */
.cm-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.5rem;
}

/* Rule under section headings */
.cm-rule:after {
	content: "";
	display: block;
	width: 72px;
	height: 3px;
	margin-top: 1rem;
	background: var(--wp--preset--color--accent);
}

/* Post cards */
.cm-card {
	height: 100%;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.cm-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px -24px rgba(6, 14, 30, 0.55);
	border-color: var(--wp--preset--color--accent);
}

.cm-card .wp-block-post-featured-image img,
.cm-card figure img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	width: 100%;
}

.cm-card .wp-block-post-title a,
.cm-card h3 a {
	text-decoration: none;
}

.cm-card .wp-block-post-title a:hover,
.cm-card h3 a:hover {
	color: var(--wp--preset--color--accent);
}

/* Excerpt clamped to roughly 250 characters of visible text */
.cm-card .wp-block-post-excerpt__excerpt,
.cm-card .cm-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cm-readmore a,
.wp-block-post-excerpt__more-link {
	font-weight: 600;
	text-decoration: none;
	border-bottom: 2px solid var(--wp--preset--color--accent);
	padding-bottom: 2px;
}

.cm-readmore a:hover,
.wp-block-post-excerpt__more-link:hover {
	color: var(--wp--preset--color--accent);
}

/* Header */
.cm-site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	backdrop-filter: saturate(140%) blur(10px);
}

.cm-site-header .wp-block-site-title a {
	text-decoration: none;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
}

/* Angled hero overlay */
.cm-hero {
	position: relative;
	overflow: hidden;
}

.cm-hero:after {
	content: "";
	position: absolute;
	inset: auto -10% -40% auto;
	width: 55%;
	height: 70%;
	background: var(--wp--preset--color--accent);
	opacity: 0.14;
	transform: rotate(-8deg);
	pointer-events: none;
}

/* Content slot placeholders (editable areas) */
.cm-slot {
	border: 1px dashed color-mix(in srgb, var(--wp--preset--color--contrast) 22%, transparent);
	border-radius: 14px;
}

@media (max-width: 781px) {
	.cm-hero:after {
		display: none;
	}
}
