/*
Theme Name: Jazz im Dialog
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jazz-im-dialog
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts a margin-block-start equal to the block gap (24px unless
   theme.json sets styles.spacing.blockGap) between the template's top-level
   sections (header part, main, footer part) — a gap that exists even when no
   markup asks for it. Zero it so sections butt edge-to-edge and own their
   vertical rhythm via padding; this does not affect block gaps inside nested
   layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* With that gap gone, main carries its own vertical padding so templates this
   theme does not author (WooCommerce shop, product, cart…) still clear the
   header and footer. A descendant selector, not a child one: WooCommerce wraps
   the single-product main in an extra group. Templates built from full-bleed
   sections opt out with is-flush and let the sections own the rhythm. */
.wp-site-blocks main {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.wp-site-blocks main.is-flush {
	padding-block: 0;
}

/* === Jazz im Dialog — look: Quiet luxury editorial === */

/* Masthead & navigation */
.masthead-row {
	column-gap: 2rem;
	row-gap: 0.75rem;
}
.site-brand,
.site-brand a {
	color: #f7f3eb;
	text-decoration: none;
	font-size: 1.6rem;
	letter-spacing: 0.01em;
}
.site-nav {
	row-gap: 0.4rem;
}
.site-nav .wp-block-navigation-item a,
.masthead-row .wp-block-navigation-item__content {
	color: #f7f3eb !important;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	position: relative;
}
.site-nav .wp-block-navigation-item a:hover,
.masthead-row .wp-block-navigation-item__content:hover {
	color: #c6a15b !important;
}
.site-nav .wp-block-navigation-item a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	height: 1px;
	width: 100%;
	background: #c6a15b;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.45s ease;
}
.site-nav .wp-block-navigation-item a:hover::after {
	transform: scaleX(1);
}

/* Mobile menu toggle icons (open/close) on the navy masthead and footer:
   inherit the ivory link color instead of the dark ink so they stay visible
   on #172b46. */
.site-nav .wp-block-navigation__responsive-container-open,
.site-nav .wp-block-navigation__responsive-container-close,
.footer-nav .wp-block-navigation__responsive-container-open,
.footer-nav .wp-block-navigation__responsive-container-close {
	color: #f7f3eb;
}
.site-nav .wp-block-navigation__responsive-container-open svg,
.site-nav .wp-block-navigation__responsive-container-close svg,
.footer-nav .wp-block-navigation__responsive-container-open svg,
.footer-nav .wp-block-navigation__responsive-container-close svg {
	fill: #f7f3eb;
}

/* Eyebrows & labels */
.eyebrow,
.hero-description {
	font-family: var(--wp--preset--font-family--fraunces);
}
.eyebrow {
	color: #c6a15b !important;
}

/* Page hero bands (pages, single, archive, blog) */
.page-hero {
	color: #f7f3eb !important;
}
.page-hero h1,
.page-hero .wp-block-heading,
.page-hero .wp-block-post-title,
.page-hero .wp-block-query-title {
	color: #f7f3eb !important;
}
.page-hero .hero-description,
.page-hero .term-description {
	color: rgba(247, 243, 235, 0.85) !important;
	max-width: 46rem;
	margin-block-start: 0.9rem;
}
.page-hero .wp-block-post-terms a,
.journal-kicker a {
	color: #c6a15b;
}

/* Home hero (cover) */
.home-hero .wp-block-cover__inner-container {
	padding-block: 1.5rem;
}
.home-hero h1,
.home-hero .hero-text {
	color: #f7f3eb !important;
}
.home-hero .hero-text {
	max-width: 40rem;
}
.home-hero .wp-block-buttons {
	margin-block-start: 1.75rem;
}

/* Content columns on navy bands */
.home-arbeit {
	color: #f7f3eb !important;
}
.home-arbeit h2,
.home-arbeit p {
	color: #f7f3eb !important;
}
.home-arbeit .eyebrow {
	color: #c6a15b !important;
}
.home-arbeit .alignwide {
	padding-block: 3rem;
}
.home-arbeit .wp-block-image img {
	filter: sepia(0.08) contrast(1.02);
}

/* Rubrik cards */
.rubrik-card {
	border-top: 1px solid rgba(23, 43, 70, 0.25);
	padding-block: 1.6rem;
}
.rubrik-card h3 {
	margin-block-end: 0.8rem;
}
.rubrik-link {
	margin-block-start: 0.2rem;
}
.rubrik-link a {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #172b46;
	text-decoration: none;
	position: relative;
}
.rubrik-link a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	height: 1px;
	width: 100%;
	background: #c6a15b;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.45s ease;
}
.rubrik-link a:hover::after {
	transform: scaleX(1);
}

/* Page content on ivory */
.page-content {
	padding-block: 2.75rem 5rem;
}
.page-content .wp-block-list li {
	margin-block-end: 0.5rem;
}
.page-content .wp-block-list strong {
	color: #172b46;
}

/* Journal / blog list */
.journal-list {
	padding-block: 2.5rem 5rem;
}
.journal-entry {
	border-top: 1px solid rgba(23, 43, 70, 0.22);
	padding-block: 2.5rem 0.5rem;
}
.journal-entry:first-child {
	border-top: none;
}
.journal-kicker {
	margin-block-end: 1rem;
}
.journal-kicker a {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
}
.journal-date {
	color: rgba(46, 44, 40, 0.6);
	font-size: 0.85rem;
}
.journal-entry .wp-block-post-title a {
	color: #172b46;
	text-decoration: none;
}
.journal-entry .wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-color: #c6a15b;
}
.journal-entry .wp-block-post-excerpt {
	margin-block-start: 0.9rem;
}
.journal-entry .wp-block-post-featured-image {
	margin-block: 1.2rem;
}
.journal-entry .wp-block-post-excerpt__more-text {
	margin-block-start: 0.6rem;
}
.journal-entry .wp-block-post-excerpt__more-text a {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #172b46;
	text-decoration: none;
}

/* Single post reading column */
.single-content .wp-block-post-featured-image img {
	border-radius: 2px;
}
.single-content .wp-block-post-content p {
	margin-block-end: 1.4rem;
}

/* Footer */
.site-footer {
	--footer-ink: rgba(247, 243, 235, 0.82);
}
.site-footer p,
.footer-tagline {
	color: var(--footer-ink);
}
.footer-tagline {
	font-style: italic;
	font-size: 1rem;
}
.site-footer .wp-block-column {
	padding-block: 1rem;
}
.site-footer .wp-block-column h3 {
	color: #c6a15b;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-block-end: 1rem;
}
.site-footer .footer-nav .wp-block-navigation-item a {
	color: var(--footer-ink) !important;
	font-family: var(--wp--preset--font-family--lora);
	font-size: 0.95rem;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
}
.site-footer .footer-nav .wp-block-navigation-item a:hover {
	color: #c6a15b !important;
}
.footer-copy {
	color: rgba(247, 243, 235, 0.6) !important;
	font-size: 0.8rem;
}
.site-footer .wp-block-separator {
	border-color: rgba(247, 243, 235, 0.25);
}
.site-footer .alignwide {
	margin-block: auto;
}

/* Buttons — outline on navy bands */
.home-hero .is-style-outline .wp-element-button,
.home-arbeit .is-style-outline .wp-element-button {
	border: 1px solid rgba(247, 243, 235, 0.8);
	color: #f7f3eb;
	background: transparent;
	padding: 0.9rem 1.6rem;
}
.home-hero .has-accent-background-color,
.home-arbeit .has-accent-background-color {
	background-color: #c6a15b !important;
	color: #172b46 !important;
}

/* Motion (progressive enhancement — default state is fully visible) */
@media (prefers-reduced-motion: no-preference) {
	.js .reveal {
		opacity: 0;
		transform: translateY(14px);
		transition: opacity 0.75s ease, transform 0.75s ease;
	}
	.js .reveal.is-in {
		opacity: 1;
		transform: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
	.reveal {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Responsive */
@media (max-width: 900px) {
	.home-rubriken .is-layout-grid,
	.page-content .is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 600px) {
	.masthead-row {
		flex-direction: column;
		align-items: flex-start;
	}
	.home-arbeit .alignwide {
		padding-block: 2.25rem;
	}
	.home-rubriken .is-layout-grid,
	.page-content .is-layout-grid {
		grid-template-columns: 1fr !important;
	}
}
