/*
Theme Name: Ember & Oak
Template: twentytwentyfive
Description: Demo child theme for the NORG Edge Router test site, styled after shadcn/ui (zinc palette, Geist, hairline borders, rounded cards).
Version: 1.0.3
License: GPL-2.0-or-later
Text Domain: ember-oak
*/

:root {
	--eo-radius: 0.75rem;
	--eo-radius-sm: 0.5rem;
	--eo-border: var(--wp--preset--color--accent-6);
	--eo-muted: var(--wp--preset--color--accent-2);
	--eo-muted-fg: var(--wp--preset--color--accent-3);
	--eo-ring: 0 0 0 3px rgb(24 24 27 / 0.12);
	--eo-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--eo-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.08), 0 1px 2px -1px rgb(0 0 0 / 0.08);
}

body { -webkit-font-smoothing: antialiased; font-feature-settings: "ss01", "cv11"; }
::selection { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* Header: sticky, translucent, hairline bottom border (shadcn site header). */
header.wp-block-template-part {
	position: sticky; top: 0; z-index: 50;
	background: rgb(255 255 255 / 0.85);
	backdrop-filter: saturate(180%) blur(8px);
	border-bottom: 1px solid var(--eo-border);
}
.admin-bar header.wp-block-template-part { top: 32px; }
header .wp-block-site-title a { font-weight: 600; letter-spacing: -0.02em; text-decoration: none; }
header .wp-block-navigation a { color: var(--eo-muted-fg); text-decoration: none; transition: color .15s; }
header .wp-block-navigation a:hover, header .wp-block-navigation .current-menu-item a { color: var(--wp--preset--color--contrast); }

/* Buttons: primary (zinc-900) and outline, 2.5rem tall, radius-md. */
.wp-element-button, .wp-block-button__link {
	border-radius: var(--eo-radius-sm) !important;
	font-weight: 500; font-size: 0.9375rem; line-height: 1.25rem;
	padding: 0.625rem 1.125rem !important;
	box-shadow: var(--eo-shadow-sm);
	transition: background-color .15s, color .15s, box-shadow .15s;
}
.wp-element-button:focus-visible, .wp-block-button__link:focus-visible { outline: none; box-shadow: var(--eo-ring); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	border: 1px solid var(--eo-border) !important;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--eo-muted); }

/* Card: the core of the shadcn look. */
.is-style-eo-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--eo-border);
	border-radius: var(--eo-radius);
	box-shadow: var(--eo-shadow-sm);
	overflow: hidden;
	transition: box-shadow .2s, transform .2s;
}
.is-style-eo-card:hover { box-shadow: var(--eo-shadow); transform: translateY(-1px); }
.is-style-eo-card > .wp-block-image { margin: 0 !important; }
.is-style-eo-card > .wp-block-image img { border-radius: 0 !important; aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.is-style-eo-card > :not(.wp-block-image) { padding-left: 1.5rem; padding-right: 1.5rem; }
.is-style-eo-card > :last-child { padding-bottom: 1.5rem; }
.is-style-eo-card h3 { margin-top: 1.25rem; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.01em; }
.is-style-eo-card p { color: var(--eo-muted-fg); font-size: 0.9375rem; }

/* Muted section band and badge pill. */
.is-style-eo-muted { background: var(--eo-muted); border-top: 1px solid var(--eo-border); border-bottom: 1px solid var(--eo-border); }
.is-style-eo-badge {
	display: inline-block; width: auto !important; padding: 0.125rem 0.625rem;
	font-size: 0.75rem; font-weight: 500; line-height: 1.25rem;
	border: 1px solid var(--eo-border); border-radius: 9999px; background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

/* Images, separators, lists, quotes. */
.wp-block-image img, .wp-block-post-featured-image img { border-radius: var(--eo-radius); }
.wp-block-image.is-style-eo-frame img { border: 1px solid var(--eo-border); box-shadow: var(--eo-shadow); }
.wp-block-separator { border-color: var(--eo-border) !important; opacity: 1; }
.entry-content ul.wp-block-list { padding-left: 1.25rem; }
.entry-content ul.wp-block-list li::marker { color: var(--eo-muted-fg); }
.entry-content h2 { letter-spacing: -0.025em; }

/* Hero cover: dark overlay, tight heading, readable lead. */
.eo-hero .wp-block-cover__inner-container { max-width: 46rem; }
.eo-hero h1 { font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 650; letter-spacing: -0.035em; line-height: 1.05; }
.eo-hero p { font-size: 1.125rem; color: rgb(244 244 245 / 0.9); }
.eo-hero .is-style-eo-badge { background: rgb(255 255 255 / 0.1); color: #fafafa; border-color: rgb(255 255 255 / 0.2); }
.eo-hero .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #fafafa; border-color: rgb(255 255 255 / 0.3) !important; }
.eo-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgb(255 255 255 / 0.1); }

/* Journal list (query loop) as a card grid. */
.wp-block-post-template.is-layout-grid > li,
.blog .wp-block-post-template > li, .archive .wp-block-post-template > li {
	border: 1px solid var(--eo-border); border-radius: var(--eo-radius); padding: 1.25rem; background: var(--wp--preset--color--base); box-shadow: var(--eo-shadow-sm);
}
.wp-block-post-title a { text-decoration: none; }
.wp-block-post-date, .wp-block-post-terms { color: var(--eo-muted-fg); font-size: 0.875rem; }

/* Footer: muted band. */
footer.wp-block-template-part { background: var(--eo-muted); border-top: 1px solid var(--eo-border); margin-top: 0; }

/* Hero aligned to the wide grid; footer link lists. */
.eo-hero.wp-block-cover { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.eo-hero > .wp-block-cover__inner-container { width: 100% !important; max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; }
.eo-hero > .wp-block-cover__inner-container > * { max-width: 44rem; }
.eo-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fafafa; color: #09090b; }
.eo-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #e4e4e7; }
footer .eo-footer-links, footer ul.wp-block-list.eo-footer-links { list-style: none !important; padding-left: 0 !important; }
.eo-footer-links { list-style: none; padding-left: 0 !important; margin: 0; }
.eo-footer-links li { margin: 0.375rem 0; font-size: 0.9375rem; }
.eo-footer-links a { color: var(--eo-muted-fg); text-decoration: none; }
.eo-footer-links a:hover { color: var(--wp--preset--color--contrast); }

/* Journal grid: the query cards are already eo-card; reset the generic li card. */
.eo-post-grid > li { border: 0 !important; padding: 0 !important; box-shadow: none !important; background: none !important; }
.eo-post-grid .is-style-eo-card { height: 100%; }
.eo-post-grid .wp-block-post-featured-image { margin: 0 0 1rem 0 !important; }
.eo-post-grid .wp-block-post-featured-image img { border-radius: 0 !important; }
.eo-post-grid .is-style-eo-card > .wp-block-post-featured-image { padding: 0 !important; }
.eo-post-grid .wp-block-post-title { margin-top: 0.75rem; font-size: 1.125rem; }
.eo-post-grid .wp-block-post-excerpt__excerpt { color: var(--eo-muted-fg); font-size: 0.9375rem; }
.eo-post-grid .wp-block-post-excerpt__more-link { font-weight: 500; font-size: 0.875rem; }
.wp-block-post-terms.is-style-eo-badge a { text-decoration: none; color: inherit; }
@media (max-width: 781px) { .eo-post-grid.is-layout-grid { grid-template-columns: 1fr !important; } }
