/*
Theme Name: Sigbin Haus
Template: euphony-blocks
Description: Sigbin Haus — artists' sanctuary, music venue and dormitory. Child theme of Euphony Blocks.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: sigbin
*/

/* The parent's CSS refers to its own font; point it at ours. */
:root {
	--wp--preset--font-family--pt-sans: var(--wp--preset--font-family--space-mono);
	--sigbin-sand-75: rgba(242, 234, 214, 0.75);
	--sigbin-gold-40: rgba(212, 160, 50, 0.4);
	--sigbin-header-h: 76px;
}

body {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--body-text);
	-webkit-font-smoothing: antialiased;
}

/* Remove the parent's default gaps between header, main and footer. */
.wp-site-blocks > * + * { margin-block-start: 0; }
body .wp-site-blocks main.sigbin-main { padding: 0; margin: 0; }
.sigbin-main > .entry-content > *:first-child { margin-top: 0; }
.wp-block-post-content > .alignfull,
.wp-block-post-content.is-layout-constrained > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }

h1 em, h2 em, h3 em, .sigbin-footer__name em {
	font-style: italic;
	color: var(--wp--preset--color--primary);
}

/* ---------- Header ---------- */

.sigbin-header {
	position: sticky;
	top: 0;
	z-index: 50;
	padding: 14px 24px;
	background: rgba(33, 22, 45, 0.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(242, 234, 214, 0.08);
}
.admin-bar .sigbin-header { top: var(--wp-admin--admin-bar--height, 32px); }
.sigbin-brand { gap: 12px; }
.sigbin-brand .wp-block-site-logo img { height: auto; }
.sigbin-wordmark,
.sigbin-wordmark a {
	font-family: var(--wp--preset--font-family--playfair-display);
	font-size: 22px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
}
.sigbin-nav-wrap { gap: 28px; }
.sigbin-nav {
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	gap: 26px;
}
.sigbin-nav a { color: var(--wp--preset--color--menu-color); text-decoration: none; }
.sigbin-nav a:hover,
.sigbin-nav .current-menu-item a { color: var(--wp--preset--color--primary); }
.sigbin-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--foreground);
	padding: 32px;
}
.sigbin-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 22px;
	font-size: 15px;
}
.sigbin-header-cta .wp-block-button__link { margin-top: 0; }

/* ---------- Buttons ---------- */

.wp-element-button,
.wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--color-dark);
	text-transform: uppercase;
	padding: 14px 30px;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--sigbin-gold-40);
	color: var(--wp--preset--color--primary);
	padding: 10px 22px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--color-dark);
}

/* ---------- Hero ---------- */

.sigbin-hero {
	min-height: calc(100svh - var(--sigbin-header-h));
	text-align: center;
}
.sigbin-hero--short { min-height: 58svh; }
.sigbin-hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(43, 30, 58, 0.55) 0%, rgba(43, 30, 58, 0.35) 45%, rgba(43, 30, 58, 0.95) 100%) !important;
	opacity: 1 !important;
}
.sigbin-hero .wp-block-cover__inner-container { max-width: 860px; }
.sigbin-hero h1 { margin: 0 0 8px; color: var(--wp--preset--color--foreground); }
.sigbin-hero--short h1 { font-size: clamp(44px, 7vw, 84px); }
.sigbin-hero__sub {
	font-family: var(--wp--preset--font-family--playfair-display);
	font-style: italic;
	font-size: clamp(16px, 2vw, 21px);
	line-height: 1.7;
	color: rgba(242, 234, 214, 0.82);
	max-width: 520px;
	margin: 20px auto 36px;
}
.sigbin-pill {
	display: inline-block;
	border: 1px solid var(--sigbin-gold-40);
	color: var(--wp--preset--color--primary);
	font-size: 10px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	padding: 10px 24px;
	border-radius: 2px;
}

/* ---------- Sections ---------- */

.sigbin-label {
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-bottom: 16px;
}
.sigbin-section {
	padding: clamp(64px, 9vw, 120px) 24px;
}
.sigbin-section--alt {
	background:
		radial-gradient(ellipse at 80% 0%, rgba(26, 74, 94, 0.35) 0%, transparent 60%),
		radial-gradient(ellipse at 10% 100%, rgba(13, 122, 95, 0.2) 0%, transparent 55%),
		var(--wp--preset--color--secondary);
}
.sigbin-section p { color: var(--sigbin-sand-75); }
.sigbin-section h2 { margin: 0 0 28px; }
.sigbin-lead { max-width: 620px; }

.sigbin-split { gap: clamp(32px, 5vw, 72px); align-items: center; }
.sigbin-split .wp-block-image img,
.sigbin-card .wp-block-image img,
.sigbin-gallery img { border-radius: 2px; }
.sigbin-split .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }

/* Offerings grid */
.sigbin-cards { gap: 28px; margin-top: 48px; }
.sigbin-card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(242, 234, 214, 0.08);
	padding: 0 0 26px;
	height: 100%;
	transition: border-color 0.2s, transform 0.2s;
}
.sigbin-card:hover { border-color: var(--sigbin-gold-40); transform: translateY(-3px); }
.sigbin-card .wp-block-image { margin: 0 0 22px; }
.sigbin-card .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 0; }
.sigbin-card h3 { margin: 0 24px 10px; }
.sigbin-card p { margin: 0 24px; font-size: 13.5px; line-height: 1.85; }

/* Quote */
.sigbin-quote {
	border: 0;
	padding: 0;
	margin: 0 auto;
	text-align: center;
	max-width: 760px;
}
.sigbin-quote::before,
.sigbin-quote::after { display: none !important; content: none !important; }
.sigbin-quote p {
	font-family: var(--wp--preset--font-family--playfair-display);
	font-style: italic;
	font-size: clamp(24px, 3.6vw, 38px);
	line-height: 1.35;
	color: var(--wp--preset--color--foreground) !important;
}
.sigbin-quote cite {
	display: block;
	margin-top: 22px;
	font-style: normal;
	font-size: 11px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

/* Founders */
.sigbin-founder {
	border-top: 1px solid var(--sigbin-gold-40);
	padding-top: 24px;
}
.sigbin-founder h3 { margin: 0 0 6px; }
.sigbin-founder .sigbin-role {
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary) !important;
	margin: 0 0 16px;
}
.sigbin-note {
	text-align: center;
	max-width: 640px;
	margin: 0 auto;
	font-family: var(--wp--preset--font-family--playfair-display);
	font-style: italic;
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.75;
}
.sigbin-note::before {
	content: "♩";
	display: block;
	font-style: normal;
	font-size: 28px;
	color: var(--wp--preset--color--primary);
	margin-bottom: 16px;
}
.sigbin-signoff {
	text-align: center;
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary) !important;
	margin-top: 32px;
}

/* Galleries */
.sigbin-gallery.wp-block-gallery { gap: 12px; }
.sigbin-gallery figure img { transition: opacity 0.2s; }
.sigbin-gallery figure:hover img { opacity: 0.88; }

/* Booking */
.sigbin-booking-box {
	background: var(--wp--preset--color--color-light);
	color: #222;
	padding: clamp(12px, 3vw, 32px);
	border-radius: 2px;
	min-height: 420px;
}
.sigbin-facts { list-style: none; padding: 0; }
.sigbin-facts li {
	padding: 10px 0;
	border-bottom: 1px solid rgba(242, 234, 214, 0.1);
	color: var(--sigbin-sand-75);
}

/* ---------- Footer ---------- */

.sigbin-footer {
	background: var(--wp--preset--color--color-dark);
	padding: 72px 24px 32px;
	font-size: 13px;
	border-top: 1px solid rgba(242, 234, 214, 0.08);
}
.sigbin-footer p { color: var(--sigbin-sand-75); }
.sigbin-footer a { color: var(--wp--preset--color--foreground); text-decoration: none; }
.sigbin-footer a:hover { color: var(--wp--preset--color--primary); }
.sigbin-footer__grid { gap: 40px; }
.sigbin-footer__name {
	font-family: var(--wp--preset--font-family--playfair-display);
	font-size: 26px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground) !important;
	margin: 14px 0 4px;
}
.sigbin-footer__tag { font-size: 12px; max-width: 300px; }
.sigbin-footer__links { list-style: none; padding: 0; margin: 0; }
.sigbin-footer__links li { padding: 3px 0; }
.sigbin-footer__bottom {
	margin-top: 56px;
	padding-top: 24px;
	border-top: 1px solid rgba(242, 234, 214, 0.08);
	font-size: 11px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary) !important;
	text-align: center;
}

/* 404 */
.sigbin-404-title { margin-top: 120px; }
.sigbin-main > p:last-child { margin-bottom: 120px; }

/* ---------- Small screens ---------- */

@media (max-width: 781px) {
	.sigbin-header { padding: 10px 16px; }
	.sigbin-nav-wrap { gap: 12px; }
	.sigbin-wordmark, .sigbin-wordmark a { font-size: 19px; }
	.sigbin-section { padding-left: 16px; padding-right: 16px; }
	.sigbin-split .wp-block-image img { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
	.sigbin-card, .sigbin-gallery figure img { transition: none; }
	.sigbin-card:hover { transform: none; }
}
