/*
Theme Name: Jackie Han Photography
Theme URI: https://www.jackiehan.com
Author: Jackie Han
Author URI: https://www.jackiehan.com
Description: A slim, minimal block theme for Jackie Han Photography. Light Archivo type, generous white space, and a single burnt-orange accent, built to WCAG AA contrast.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.1.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jackiehan
Tags: block-theme, full-site-editing, portfolio, photography, one-column, wide-blocks, accessibility-ready
*/

/* Small labels above headings ("eyebrow"): add the CSS class "eyebrow" to a paragraph. */
.eyebrow {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--stone-600);
}
.has-ink-background-color .eyebrow { color: var(--wp--preset--color--stone-300); }
.eyebrow.is-accent { color: var(--wp--preset--color--accent); }

/* Muted body copy */
.is-muted { color: var(--wp--preset--color--stone-600); }
.has-ink-background-color .is-muted { color: var(--wp--preset--color--stone-300); }

/* Site title as a spaced wordmark */
.wp-block-site-title {
	letter-spacing: 0.26em;
	text-transform: uppercase;
}
.wp-block-site-title a { text-decoration: none; }

/* Header navigation: last item styled as a button */
.wp-block-navigation .nav-cta > a,
.wp-block-navigation .nav-cta > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--accent);
	color: #ffffff !important;
	padding: 0.7rem 1.35rem;
	font-weight: 500;
}
.wp-block-navigation .nav-cta > a:hover { background: var(--wp--preset--color--accent-dark); }
.wp-block-navigation .wp-block-navigation-item__content { padding-block: 0.6rem; }
.wp-block-navigation a[aria-current="page"] {
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 1px;
}

/* Thin rule above list items (credentials, kind words, FAQ) */
.has-top-rule {
	border-top: 1px solid currentColor;
	padding-top: var(--wp--preset--spacing--40);
}

/* Client wall tiles */
.client-tile {
	border: 1px solid var(--wp--preset--color--stone-200);
	min-height: 4.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0.75rem;
	font-weight: 500;
	color: var(--wp--preset--color--stone-700);
}

/* Package cards */
.package-card {
	border: 1px solid var(--wp--preset--color--ink);
	height: 100%;
}
.package-card .wp-block-image { margin: 0; }
.package-card .wp-block-image img { width: 100%; }
.package-card ul { padding-left: 1.1rem; line-height: 1.8; }

/* FAQ */
.wp-block-details {
	border-top: 1px solid var(--wp--preset--color--ink);
	padding-block: 1.25rem;
}
.wp-block-details:last-of-type { border-bottom: 1px solid var(--wp--preset--color--ink); }
.wp-block-details summary {
	font-size: 1.1875rem;
	cursor: pointer;
	min-height: 44px;
	display: list-item;
}

/* Visible keyboard focus everywhere */
:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* Images fill their column */
.wp-block-image img { height: auto; max-width: 100%; }
.wp-block-gallery.portrait-grid.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 5; }
.wp-block-gallery.landscape-grid.has-nested-images figure.wp-block-image img { aspect-ratio: 3 / 2; }

/* Header and footer */
.site-header { border-bottom: 1px solid var(--wp--preset--color--stone-200); }
.site-footer a { color: #ffffff; text-decoration: none; }
.site-footer a:hover { color: var(--wp--preset--color--stone-300); text-decoration: underline; }
.site-footer .wp-block-social-links .wp-social-link { color: #ffffff; }
.footer-legal { border-top: 1px solid var(--wp--preset--color--stone-700); }

/* Gallery switcher bar */
.gallery-nav { border-bottom: 1px solid var(--wp--preset--color--stone-200); }
.gallery-nav .wp-block-navigation-item__content {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 500;
	padding-block: 1rem;
}
.gallery-nav a[aria-current="page"] {
	text-decoration: none;
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent);
}

/* Uppercase helper for small headings */
.is-upper { text-transform: uppercase; letter-spacing: 0.08em; }

/* Dark sections */
.has-ink-background-color a:not(.wp-element-button) { color: #ffffff; }
.has-ink-background-color .eyebrow.is-accent { color: var(--wp--preset--color--accent-light); }
.has-ink-background-color .has-top-rule { border-top-color: var(--wp--preset--color--stone-600); }

/* Image links in the gallery tiles */
.gallery-tile h3 a { text-decoration: none; }
.gallery-tile h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }

/* Price line */
.price { font-size: 0.9375rem; color: var(--wp--preset--color--stone-600); }
.price strong { font-size: 1.875rem; font-weight: 300; color: var(--wp--preset--color--ink); }

/* Never split words inside big headings */
h1, h2, .wp-block-post-title { overflow-wrap: normal; word-break: normal; hyphens: manual; }
