/* Full-bleed wrapper (edge-to-edge) */
.hml-fullbleed{
	width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}

/* Section spacing */
.hml-section{
	padding:24px 0;
}

/* Updates grid (3 columns desktop, 2 tablet, 1 mobile) */
.hml-updates-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:14px;
	padding:0;
	box-sizing:border-box;
}

@media (max-width: 980px){
	.hml-updates-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px){
	.hml-updates-grid{ grid-template-columns:1fr; }
}

/* Tiles */
.hml-tile{
	display:block;
	position:relative;
	min-height:360px;
	background:#111;
	background-size:cover;
	background-position:center;
	text-decoration:none;
	color:#fff;
	overflow:hidden;
}

.hml-tile-overlay{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	padding:14px;
	background:linear-gradient(to top, rgba(0,0,0,.85), rgba(0,0,0,0));
	box-sizing:border-box;
}

.hml-tag{
	display:inline-block;
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	padding:6px 10px;
	background:#ff6a00;
	color:#000;
	margin-bottom:10px;
}

.hml-title{
	margin:0;
	font-size:28px;
	line-height:1.1;
	font-weight:800;
	text-shadow:0 1px 8px rgba(0,0,0,.45);
}

/* Hero */
.hml-hero{
	min-height:520px;
	background:#111;
	background-size:cover;
	background-position:center;
	position:relative;
}

.hml-hero:before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(to right, rgba(0,0,0,.65), rgba(0,0,0,0));
}

.hml-hero-inner{
	position:relative;
	z-index:2;
	padding:80px 14px 24px;
	max-width:1400px;
	margin:0 auto;
	box-sizing:border-box;
}

.hml-hero-tag{
	display:inline-block;
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	padding:6px 10px;
	background:#ff6a00;
	color:#000;
	margin-bottom:14px;
}

.hml-hero-title{
	margin:0 0 18px;
	font-size:56px;
	line-height:1.05;
	font-weight:900;
	color:#fff;
	text-shadow:0 1px 10px rgba(0,0,0,.55);
}

@media (max-width: 700px){
	.hml-hero-title{ font-size:38px; }
	.hml-hero-inner{ padding-top:54px; }
}

/* Title section (when hero image is hidden) */
.hml-title-section{
	padding:40px 14px 40px;
	background:#fff;
	margin-bottom:40px;
}

.hml-title-inner{
	max-width:1400px;
	margin:0 auto;
	box-sizing:border-box;
	padding-bottom:20px;
}

.hml-title-tag{
	display:inline-block;
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	padding:6px 10px;
	background:#ff6a00;
	color:#000;
	margin-bottom:14px;
}

.hml-title-heading{
	margin:0;
	font-size:48px;
	line-height:1.2;
	font-weight:900;
	color:#111;
	padding-bottom:10px;
}

@media (max-width: 700px){
	.hml-title-heading{ font-size:32px; line-height:1.2; }
	.hml-title-section{ padding:30px 14px 30px; margin-bottom:30px; }
}

/* Buttons (sharp corners) */
.hml-hero-actions{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
}

.hml-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:12px 18px;
	border:2px solid rgba(255,255,255,.95);
	color:#fff;
	text-decoration:none;
	font-weight:800;
	letter-spacing:.02em;
	background:transparent;
}

.hml-btn-primary{
	background:rgba(255,255,255,.12);
}

.hml-empty{
	padding:24px 14px;
	color:#111;
	background:#f3f3f3;
}


/* Single post takeover layout */
.hml-single-wrap{
	max-width:1400px;
	margin:0 auto;
	padding:12px 14px 24px;
	box-sizing:border-box;
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	gap:24px;
}

.hml-single-wrap.hml-has-sidebar{
	grid-template-columns:minmax(0, 1fr) 340px;
}

@media (max-width: 980px){
	.hml-single-wrap.hml-has-sidebar{ grid-template-columns:1fr; }
}

.hml-breadcrumbs{
	max-width:1400px;
	margin:0 auto;
	padding:10px 14px;
	box-sizing:border-box;
	font-size:13px;
}

.hml-breadcrumbs a{ color:inherit; text-decoration:none; }
.hml-breadcrumbs span{ opacity:.7; }

.hml-sharebar{
	max-width:1400px;
	margin:0 auto;
	padding:6px 14px 0;
	box-sizing:border-box;
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}

.hml-sharebar a{
	display:inline-flex;
	padding:10px 12px;
	border:2px solid rgba(0,0,0,.15);
	text-decoration:none;
	font-weight:800;
	color:#111;
	background:#fff;
}


/* Takeover mode: force true edge-to-edge (theme wrappers + plugin wrappers) */
body.hml-takeover #page,
body.hml-takeover #content,
body.hml-takeover #primary,
body.hml-takeover #main,
body.hml-takeover .site,
body.hml-takeover .site-content,
body.hml-takeover .content-area,
body.hml-takeover .content,
body.hml-takeover .container,
body.hml-takeover .wrap,
body.hml-takeover .mh-wrapper,
body.hml-takeover .mh-container,
body.hml-takeover .mh-content,
body.hml-takeover .mh-header,
body.hml-takeover .mh-navigation,
body.hml-takeover .site-header,
body.hml-takeover #masthead,
body.hml-takeover .main-navigation{
	max-width:none !important;
	width:100% !important;
	margin:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
	box-shadow:none !important;
}

body.hml-takeover .hml-breadcrumbs,
body.hml-takeover .hml-sharebar{
	max-width:none !important;
	margin:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
}

body.hml-takeover .hml-hero-inner{
	max-width:none !important;
	margin:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
}

/* Takeover single posts: hero uses a real <img> so the full featured image can display without cropping */
body.hml-takeover.single-post .hml-hero{
	min-height:0;
	background-image:none !important;
	background-size:auto;
	background-position:initial;
	margin-bottom: 32px !important;
}

body.hml-takeover.single-post .hml-hero .hml-hero-img{
	width:100%;
	height:auto;
	display:block;
	object-fit:contain;
	position:relative;
	z-index:1;
}

body.hml-takeover.single-post .hml-hero:before{
	z-index:2;
}

body.hml-takeover.single-post .hml-hero-inner{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:3;
}

/* Takeover single posts: prevent embedded video players from being clipped by wrapper overflow/height constraints */
body.hml-takeover.single-post .hml-single-main,
body.hml-takeover.single-post .entry-content,
body.hml-takeover.single-post .wp-block-embed,
body.hml-takeover.single-post .wp-block-embed__wrapper,
body.hml-takeover.single-post .wp-block-video,
body.hml-takeover.single-post figure.wp-block-video,
body.hml-takeover.single-post .wp-block-cover,
body.hml-takeover.single-post .wp-block-cover__inner-container{
	overflow:visible !important;
	height:auto !important;
	max-height:none !important;
}

/* Takeover single posts: prevent horizontal scrolling caused by full-bleed widths + visible overflow (keep vertical video overflow working) */
body.hml-takeover.single-post{
	overflow-x:hidden !important;
}

body.hml-takeover .hml-single-wrap{
	max-width:none !important;
	margin:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
	box-shadow:none !important;
}

body.hml-takeover .entry-content,
body.hml-takeover .hml-single-main{
	max-width:none !important;
	width:100% !important;
	margin:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
	box-shadow:none !important;
}

body.hml-takeover .entry-content .wp-block-gallery,
body.hml-takeover .entry-content .gallery,
body.hml-takeover .entry-content .alignfull,
body.hml-takeover .entry-content figure.alignfull{
	max-width:none !important;
	width:100vw !important;
	margin-left:calc(50% - 50vw) !important;
	margin-right:calc(50% - 50vw) !important;
}

/* Takeover single posts: reserve space below video players for controls bar by adding margin to the figure/wrapper */
body.hml-takeover.single-post figure.wp-block-video,
body.hml-takeover.single-post .wp-block-video,
body.hml-takeover.single-post .wp-block-embed,
body.hml-takeover.single-post .presto-block-video{
	margin-bottom: 72px !important;
}

@media (max-width: 700px){
	body.hml-takeover.single-post figure.wp-block-video,
	body.hml-takeover.single-post .wp-block-video,
	body.hml-takeover.single-post .wp-block-embed,
	body.hml-takeover.single-post .presto-block-video{
		margin-bottom: 40px !important;
	}
}

/* Reduce top spacing on first text element after video */
@media (max-width: 700px){
	body.hml-takeover.single-post .wp-block-video + p,
	body.hml-takeover.single-post figure.wp-block-video + p,
	body.hml-takeover.single-post .wp-block-embed + p,
	body.hml-takeover.single-post .presto-block-video + p{
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
}

.hml-single-main{
	padding-bottom:48px;
}

/* Single posts: text-only padding (no media blocks) */
.single-post .entry-content p,
.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content h5,
.single-post .entry-content h6,
.single-post .entry-content ul,
.single-post .entry-content ol,
.single-post .entry-content blockquote,
.single-post .entry-content pre,
.single-post .hml-single-main p,
.single-post .hml-single-main h1,
.single-post .hml-single-main h2,
.single-post .hml-single-main h3,
.single-post .hml-single-main h4,
.single-post .hml-single-main h5,
.single-post .hml-single-main h6,
.single-post .hml-single-main ul,
.single-post .hml-single-main ol,
.single-post .hml-single-main blockquote,
.single-post .hml-single-main pre{
	padding-left:18px;
	padding-right:18px;
}