/*
Theme Name: Ken Deaner
Theme URI: https://www.kendeaner.com/
Description: A quiet gallery theme for Ken Deaner's turned and carved wood. Child theme of Twenty Twenty-Five; pairs with the Ken Deaner Core plugin.
Author: Ken Deaner
Template: twentytwentyfive
Version: 1.0.11
Requires at least: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: kendeaner
*/

/* Small labels above headings */
.kd-eyebrow {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.kd-lead { font-size: 1.125rem; color: var(--wp--preset--color--muted); max-width: 30em; }
.kd-muted { color: var(--wp--preset--color--muted); }

/* Text links that read as links (underline) */
.kd-more a, a.kd-more { border-bottom: 1px solid currentColor; font-size: 0.875rem; letter-spacing: 0.06em; }

/* Outline button */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--stone); border-color: var(--wp--preset--color--ink); }

/* Accent button */
.wp-block-button.is-style-accent > .wp-block-button__link { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); }
.wp-block-button.is-style-accent > .wp-block-button__link:hover,
.wp-block-button.is-style-accent > .wp-block-button__link:focus { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); }

:where(a, button):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }

/* Header */
.kd-header { padding-block: 28px; }
.kd-header .wp-block-site-title a { color: var(--wp--preset--color--ink); }
.kd-header .wp-block-navigation .kd-nav-pill > a { padding: 10px 20px; border: 1px solid var(--wp--preset--color--ink); border-radius: 999px; }
.kd-header .wp-block-navigation .kd-nav-pill > a:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--stone); }
.kd-header .current-menu-item > a, .kd-header .wp-block-navigation-item a[aria-current="page"] { color: var(--wp--preset--color--accent); }
/* Phone menu (open): full screen, comfortable margins, links on the left */
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--stone); padding: 28px clamp(20px, 6vw, 40px) 40px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px; align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 22px !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--wp--preset--font-family--display); font-size: 2.25rem; line-height: 1.15; letter-spacing: 0; }
.wp-block-navigation__responsive-container.is-menu-open .kd-nav-pill > a { padding: 0; border: 0; border-radius: 0; }
.wp-block-navigation__responsive-container.is-menu-open .kd-nav-pill > a:hover { background: none; color: var(--wp--preset--color--accent); }
/* "Home" shows only in the open phone menu; the site name links home everywhere else */
.kd-header .wp-block-navigation__responsive-container:not(.is-menu-open) .kd-nav-home { display: none; }

/* Sections */
.kd-section { padding-block: var(--wp--preset--spacing--60); }
.kd-section--tight { padding-block: var(--wp--preset--spacing--50); }
.kd-rule { border-top: 1px solid var(--wp--preset--color--line); }
.kd-rules { border-block: 1px solid var(--wp--preset--color--line); }

/* Homepage hero */
.kd-hero { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.kd-hero h1 { margin-block: 0; }
.kd-hero .wp-block-image img { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--wp--preset--color--tile); }

/* Statement */
.kd-statement { text-align: center; }
.kd-statement .kd-quote { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: clamp(1.75rem, 3.4vw, 2.625rem); line-height: 1.3; margin: 0 auto; max-width: 22em; }

/* Section heading row: title left, link right */
.kd-heading-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: var(--wp--preset--spacing--50); }
.kd-heading-row > * { margin: 0; }

/* Dark award band */
.kd-band { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--stone); }
.kd-band h2, .kd-band h3, .kd-band a { color: var(--wp--preset--color--stone); }
.kd-band .kd-eyebrow { color: #D6A27F; }
.kd-band p { color: #CFC9C0; }
.kd-band .wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

/* Recognition lists */
.kd-plain-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; font-family: var(--wp--preset--font-family--display); font-size: 1.375rem; line-height: 1.3; }
.kd-recognition h3 { font-family: var(--wp--preset--font-family--body); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-bottom: 18px; }

/* Commission call to action */
.kd-cta { background: var(--wp--preset--color--sand); padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 56px); }
.kd-cta h2 { font-size: clamp(2rem, 3.4vw, 2.75rem); }
.kd-cta > .wp-block-group { flex: 1 1 420px; max-width: 640px; }
.kd-cta > .wp-block-buttons { flex: none; }

/* Footer */
.kd-footer { border-top: 1px solid var(--wp--preset--color--line); padding-block: 48px; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.kd-footer .wp-block-site-title { font-size: 1.25rem; letter-spacing: 0.2em; }
.kd-footer a { color: var(--wp--preset--color--muted); }
.kd-footer a:hover { color: var(--wp--preset--color--accent); }

/* Page title */
.kd-page-head { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
.kd-page-head h1 { font-size: clamp(3rem, 6vw, 4.5rem); margin: 0; }
.kd-page-head .wp-block-term-description { color: var(--wp--preset--color--muted); max-width: 40em; font-size: 1.125rem; }

/* Work page intro: title and lead side by side on wide screens */
.kd-work-intro { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 64px; padding-bottom: var(--wp--preset--spacing--30); }
.kd-work-intro .kd-lead { margin: 0; max-width: 32em; }

/* Work archive grid (query loop) */
.kd-work-loop .wp-block-post-template { gap: 56px 32px; }
.kd-work-loop .wp-block-post-featured-image { margin: 0 0 16px; background: var(--wp--preset--color--tile); overflow: hidden; }
.kd-work-loop .wp-block-post-featured-image img { transition: transform .6s ease; }
.kd-work-loop .wp-block-post-featured-image a:hover img { transform: scale(1.03); }
.kd-work-loop .wp-block-post-title { font-size: 1.5rem; line-height: 1.2; margin: 0; }
.kd-work-loop .kd-tile-meta { justify-content: space-between; align-items: baseline; gap: 12px; }
.kd-work-loop .wp-block-post-terms { font-size: 0.8125rem; color: var(--wp--preset--color--muted); flex: none; }
.kd-work-loop .wp-block-post-terms a { color: inherit; }

/* Single work */
.kd-work { padding-block: 8px var(--wp--preset--spacing--60); }
.kd-work .wp-block-post-title { font-size: clamp(2.75rem, 5vw, 4rem); line-height: 1; margin: 0; }
.kd-work .kd-work-year { margin: 0; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.kd-work .kd-work-year a { color: inherit; }
.kd-work .wp-block-post-content { font-family: var(--wp--preset--font-family--display); font-size: 1.375rem; line-height: 1.45; color: #3A3632; }
.kd-work .wp-block-post-content > * { margin-block: 0 0.8em; }
.kd-back { font-size: 0.8125rem; color: var(--wp--preset--color--muted); margin: 0 0 24px; }
.kd-back a { color: var(--wp--preset--color--muted); }
.kd-note { font-size: 0.875rem; color: var(--wp--preset--color--muted); }

/* Press & Videos */
.kd-videos > .kd-video { padding-block: clamp(32px, 5vw, 64px); border-top: 1px solid var(--wp--preset--color--line); margin: 0; }
.kd-videos > .kd-video:first-child { border-top: 0; padding-top: var(--wp--preset--spacing--30); }
.kd-video .wp-block-embed { margin: 0; }
.kd-video .wp-block-embed iframe { display: block; background: var(--wp--preset--color--ink); }
.kd-video h3 { margin: 8px 0 12px; }
.kd-press-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--line); }
.kd-press-list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 24px; padding: 20px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.kd-press-list a { font-family: var(--wp--preset--font-family--display); font-size: 1.375rem; line-height: 1.3; flex: 1 1 320px; }
.kd-press-list span { flex: none; font-size: 0.8125rem; color: var(--wp--preset--color--muted); }
/* Print-only press (no link): same look as a linked title */
.kd-press-list cite { font-family: var(--wp--preset--font-family--display); font-size: 1.375rem; line-height: 1.3; font-style: normal; flex: 1 1 320px; }

/* Forms (contact form) */
.wp-block-post-content form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea, select) {
	box-sizing: border-box;
	width: 100%;
	max-width: 560px;
	margin-top: 6px;
	padding: 12px 14px;
	font: inherit;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 4px;
}
.wp-block-post-content form :is(input, textarea, select):focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: var(--wp--preset--color--accent); }
.wp-block-post-content form label { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.wp-block-post-content form :is(input[type="submit"], button[type="submit"]) {
	padding: 15px 32px;
	font: 500 0.875rem/1.2 var(--wp--preset--font-family--body);
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--accent);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}
.wp-block-post-content form :is(input[type="submit"], button[type="submit"]):hover { background: var(--wp--preset--color--ink); }

@media (max-width: 781px) {
	.kd-hero .wp-block-columns { flex-direction: column-reverse; }
}

/* Phones: small text links get a finger-sized tap area without moving anything on the page */
@media (pointer: coarse) {
	:is(.kd-more a, a.kd-more, .kd-eyebrow a, .kd-col__more a, .kd-back a, .kd-work-year a, .wp-block-post-terms a, .kd-footer .wp-block-navigation-item__content, .kd-footer .wp-block-site-title a, .kd-header .wp-block-site-title a) {
		display: inline-block;
		padding-block: 12px;
		margin-block: -12px;
	}
}
