/*
Theme Name:   JTC (Kadence Child)
Theme URI:    https://www.thejtc.co.uk/
Description:  The Jewish Theatre Company's 2026 branding for the Kadence theme: charcoal, burgundy and gold, Bebas Neue / Montserrat / Source Sans 3, plus homepage patterns under "JTC" in the block inserter.
Author:       The Jewish Theatre Company
Template:     kadence
Version:      1.0.5
Requires at least: 6.4
Text Domain:  jtc-kadence-child
License:      GPLv2 or later
*/

/* ---------- Brand tokens ---------- */
:root {
	--jtc-charcoal: #2b2624;
	--jtc-ink: #1f1b1a;
	--jtc-burgundy: #871b1f;
	--jtc-burgundy-dark: #5c1215;
	--jtc-gold: #d4aa50;
	--jtc-gold-bright: #e8b020;
	--jtc-cream: #f5efe7;
	--jtc-cream-text: #f0e8e0;
	--jtc-line: #e3d8cc;
	--jtc-muted: #4a403c;
	--jtc-display: "Bebas Neue", "Arial Narrow", sans-serif;
	--jtc-label: "Montserrat", Arial, sans-serif;
	--jtc-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	--jtc-max: 1240px;
}

/* ---------- Sitewide typography ---------- */
body {
	font-family: var(--jtc-body);
	font-size: 18px;
	line-height: 1.6;
	color: var(--jtc-charcoal);
}

h1, h2,
.entry-title,
.wp-block-heading.is-style-jtc-display {
	font-family: var(--jtc-display);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.05;
}

h3, h4, h5, h6 {
	font-family: var(--jtc-label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

h1, .entry-title { font-size: clamp(44px, 6vw, 72px); }
h2 { font-size: clamp(36px, 4.5vw, 56px); }
h3 { font-size: 18px; }

a { color: var(--jtc-burgundy); }
a:hover, a:focus { color: var(--jtc-burgundy-dark); }

/* ---------- Header (colours are set in the Customizer; this sets the type) ---------- */
.header-navigation .header-menu-container > ul > li > a,
.mobile-navigation ul li > a {
	font-family: var(--jtc-label);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-header .header-button,
.site-header .header-button:visited {
	background: var(--jtc-gold);
	color: var(--jtc-ink);
	border: 0;
	border-radius: 2px;
	font-family: var(--jtc-label);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}
.site-header .header-button:hover,
.site-header .header-button:focus {
	background: var(--jtc-gold-bright);
	color: var(--jtc-ink);
}

/* Phone header button: same look as the desktop one */
.site-header .mobile-header-button,
.site-header .mobile-header-button:visited {
	background: var(--jtc-gold);
	color: var(--jtc-ink);
	border: 0;
	border-radius: 2px;
	font-family: var(--jtc-label);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.site-header .mobile-header-button:hover,
.site-header .mobile-header-button:focus {
	background: var(--jtc-gold-bright);
	color: var(--jtc-ink);
}

/* ---------- Page title band (Kadence "Title Above Content"): dark, slim, gold rule ---------- */
.entry-hero .entry-hero-container-inner {
	background: var(--jtc-ink) !important;
	border-top: 1px solid rgba(212, 170, 80, 0.25);
}
.entry-hero .hero-section-overlay { display: none; }
.entry-hero .entry-header {
	min-height: 0 !important;
	padding-top: 44px !important;
	padding-bottom: 44px !important;
}
.entry-hero .entry-hero-container-inner .hero-container {
	min-height: 0 !important;
}
.entry-hero .entry-title {
	color: var(--jtc-cream-text) !important;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.entry-hero .entry-header::after {
	content: "";
	display: block;
	width: 64px;
	height: 2px;
	background: var(--jtc-gold);
	margin: 18px auto 0;
}
.entry-hero .entry-header.title-align-left::after { margin-left: 0; }
.entry-hero .entry-header a,
.entry-hero .kadence-breadcrumbs,
.entry-hero .entry-meta { color: #d9cfc6; }

/* ---------- Shared pattern pieces ---------- */
.jtc-inner {
	max-width: var(--jtc-max);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

.jtc-eyebrow {
	font-family: var(--jtc-label);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--jtc-burgundy);
	margin: 0 0 8px;
}

.jtc-lead { font-size: 20px; color: var(--jtc-muted); max-width: 62ch; }

.jtc-more a,
a.jtc-more {
	font-family: var(--jtc-label);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}

/* Buttons: add the class jtc-btn-gold, jtc-btn-outline or jtc-btn-burgundy to a Button block */
.jtc-btn-gold .wp-block-button__link,
.jtc-btn-outline .wp-block-button__link,
.jtc-btn-burgundy .wp-block-button__link {
	font-family: var(--jtc-label);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 2px;
	min-height: 48px;
	padding: 14px 28px;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.jtc-btn-gold .wp-block-button__link { background: var(--jtc-gold); color: var(--jtc-ink); border: 1px solid var(--jtc-gold); }
.jtc-btn-gold .wp-block-button__link:hover { background: var(--jtc-gold-bright); border-color: var(--jtc-gold-bright); color: var(--jtc-ink); }
.jtc-btn-outline .wp-block-button__link { background: transparent; color: var(--jtc-cream-text); border: 1px solid var(--jtc-gold); }
.jtc-btn-outline .wp-block-button__link:hover { background: rgba(212,170,80,0.15); color: #fff; }
.jtc-btn-burgundy .wp-block-button__link { background: var(--jtc-burgundy); color: #fff; border: 1px solid var(--jtc-burgundy); }
.jtc-btn-burgundy .wp-block-button__link:hover { background: var(--jtc-burgundy-dark); border-color: var(--jtc-burgundy-dark); color: #fff; }

/* Full-width sections: the homepage page must use Kadence's Fullwidth layout (see the guide) */
.jtc-section { margin-top: 0 !important; margin-bottom: 0 !important; }
.entry-content > .jtc-section + .jtc-section { margin-top: 0 !important; }

/* ---------- Show hero ---------- */
.jtc-hero {
	background: linear-gradient(90deg, var(--jtc-charcoal) 0%, #592122 55%, var(--jtc-burgundy) 100%);
	color: var(--jtc-cream-text);
	padding: 88px 0 96px;
}
.jtc-hero .wp-block-columns { gap: 56px; align-items: center; margin: 0; }
.jtc-hero .jtc-eyebrow { color: var(--jtc-gold); }
.jtc-hero h1 {
	font-size: clamp(72px, 11vw, 120px);
	line-height: 0.95;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 16px;
}
.jtc-hero p { font-size: 22px; color: var(--jtc-cream-text); }
.jtc-hero .wp-block-buttons { gap: 14px; margin-top: 24px; }
.jtc-hero .wp-block-image { margin: 0; text-align: center; }
.jtc-hero .wp-block-image img { max-width: 400px; width: 100%; height: auto; box-shadow: 0 24px 60px rgba(0,0,0,0.45); }

/* Plain text links inside dark sections (hero, mailing band) show in cream */
.jtc-hero a:not(.wp-block-button__link),
.jtc-mailing a:not(.wp-block-button__link) {
	color: #d9cfc6;
	text-decoration-color: rgba(217, 207, 198, 0.6);
	text-underline-offset: 3px;
}
.jtc-hero a:not(.wp-block-button__link):hover,
.jtc-hero a:not(.wp-block-button__link):focus,
.jtc-mailing a:not(.wp-block-button__link):hover,
.jtc-mailing a:not(.wp-block-button__link):focus {
	color: var(--jtc-gold);
	text-decoration-color: var(--jtc-gold);
}

/* ---------- Event band ---------- */
.jtc-event {
	background: var(--jtc-cream);
	border-bottom: 1px solid var(--jtc-line);
	padding: 48px 0;
}
.jtc-event .wp-block-columns { align-items: center; gap: 24px 48px; margin: 0; }
.jtc-event h2 { font-size: clamp(32px, 4vw, 48px); margin: 0 0 8px; }
.jtc-event p { color: var(--jtc-muted); margin: 0; }
.jtc-event .wp-block-buttons { justify-content: flex-end; }

/* ---------- Stats strip ---------- */
.jtc-stats { background: var(--jtc-ink); color: var(--jtc-cream-text); padding: 40px 0; }
.jtc-stats .wp-block-columns { margin: 0; gap: 24px; text-align: center; }
.jtc-stats .jtc-stat-figure {
	font-family: var(--jtc-label);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--jtc-gold);
	margin: 0;
	line-height: 1.2;
}
.jtc-stats .jtc-stat-label {
	font-family: var(--jtc-label);
	font-size: 12px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin: 4px 0 0;
}

/* ---------- About + cards ---------- */
.jtc-about { background: var(--jtc-cream); padding: 96px 0 72px; }
.jtc-about h2 { margin: 0 0 14px; max-width: 760px; }
.jtc-cards { margin-top: 40px !important; gap: 24px; }
.jtc-card {
	background: #fff;
	border: 1px solid var(--jtc-line);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.jtc-card h3 { margin: 0; }
.jtc-card p { color: var(--jtc-muted); margin: 0; }
.jtc-card .jtc-more { margin-top: auto; padding-top: 8px; }

/* ---------- Recent shows ---------- */
.jtc-shows { background: #fff; border-top: 1px solid var(--jtc-line); border-bottom: 1px solid var(--jtc-line); padding: 88px 0; }
/* Kadence wraps group contents in .wp-block-group__inner-container, so the flex row goes on that wrapper when present */
.jtc-shows .jtc-shows-head > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px 32px;
}
.jtc-shows .jtc-shows-head > .wp-block-group__inner-container.wp-block-group__inner-container {
	flex: 1 1 100% !important;
	width: 100% !important;
}
.jtc-shows .jtc-shows-head > .wp-block-group__inner-container > * {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
	flex: 0 1 auto;
}
.jtc-shows .jtc-shows-head {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px 32px;
	margin: 0 0 40px !important;
	max-width: none !important;
}
.jtc-shows .jtc-shows-head > * {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
	flex: 0 1 auto;
}
.jtc-shows .jtc-shows-head .jtc-more { padding-bottom: 6px; }
.jtc-shows-head h2 { margin: 0 !important; }
.jtc-shows .wp-block-columns { gap: 24px; }
/* Tight, even spacing inside each show: picture, year, title, link */
.jtc-shows .wp-block-column > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.jtc-shows .wp-block-column > * + * { margin-top: 6px !important; }
.jtc-shows .wp-block-column > .wp-block-image + * { margin-top: 14px !important; }
.jtc-shows .wp-block-image img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; height: auto; }
.jtc-show-year { font-family: var(--jtc-label); font-size: 13px; font-weight: 600; letter-spacing: 0.2em; color: var(--jtc-burgundy); }
.jtc-shows h3 { font-size: 20px; line-height: 1.3; letter-spacing: 0.02em; text-transform: none; }

/* ---------- Mailing list band ---------- */
.jtc-mailing {
	background: linear-gradient(90deg, var(--jtc-charcoal) 0%, var(--jtc-burgundy) 100%);
	color: var(--jtc-cream-text);
	padding: 80px 0;
}
.jtc-mailing .wp-block-columns { align-items: center; gap: 40px; margin: 0; }
.jtc-mailing h2 { color: #fff; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 12px; }
.jtc-mailing p { font-size: 19px; margin: 0; }
.jtc-mailing .wp-block-buttons { justify-content: flex-end; }

/* ---------- Footer widgets ---------- */
.site-footer { background: var(--jtc-ink); color: #d9cfc6; }
.site-footer a { color: var(--jtc-cream-text); }
.site-footer a:hover { color: var(--jtc-gold); }
.site-footer .jtc-footer-heading {
	font-family: var(--jtc-label);
	font-size: 13px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--jtc-gold);
	margin: 0 0 8px;
}
.site-footer .jtc-footer-logo img { max-width: 200px; height: auto; }
.site-footer .jtc-footer-noda img { max-width: 150px; height: auto; }
.site-footer .jtc-footer-noda { margin-top: 12px; }

/* ---------- Mailing list form (Mailchimp embed) ---------- */
#mc_embed_signup,
#mc_embed_signup form,
#mc_embed_signup .mc-field-group,
#mc_embed_signup input,
#mc_embed_signup label {
	font-family: var(--jtc-body) !important;
}
#mc_embed_signup { background: transparent !important; max-width: 640px; }
#mc_embed_signup h2 {
	font-family: var(--jtc-display) !important;
	font-weight: 400 !important;
	font-size: 36px !important;
	letter-spacing: 0.04em;
	margin: 0 0 16px !important;
	color: var(--jtc-ink);
}
#mc_embed_signup .mc-field-group { padding-bottom: 18px !important; width: 100% !important; }
#mc_embed_signup .mc-field-group > label,
#mc_embed_signup .mc-field-group > strong,
#mc_embed_signup .indicates-required {
	font-family: var(--jtc-label) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--jtc-charcoal);
	display: block;
	margin-bottom: 6px;
}
#mc_embed_signup .indicates-required { text-transform: none; letter-spacing: 0.04em; font-weight: 500 !important; color: var(--jtc-muted); }
#mc_embed_signup input[type="email"],
#mc_embed_signup input[type="text"] {
	min-height: 48px;
	padding: 0 14px !important;
	border: 1px solid var(--jtc-line) !important;
	border-radius: 2px !important;
	font-size: 17px !important;
	background: #fff;
	box-sizing: border-box;
	width: 100% !important;
}
#mc_embed_signup input[type="email"]:focus,
#mc_embed_signup input[type="text"]:focus {
	border-color: var(--jtc-gold) !important;
	outline: 2px solid rgba(212, 170, 80, 0.35);
	outline-offset: 0;
}
#mc_embed_signup input[type="checkbox"],
#mc_embed_signup input[type="radio"] { width: 18px; height: 18px; margin-right: 8px; vertical-align: -3px; accent-color: var(--jtc-burgundy); }
#mc_embed_signup ul,
#mc_embed_signup .mc-field-group ul { list-style: none; padding: 0; margin: 0; }
#mc_embed_signup .button,
#mc_embed_signup input[type="submit"] {
	background: var(--jtc-gold) !important;
	color: var(--jtc-ink) !important;
	border: 0 !important;
	border-radius: 2px !important;
	min-height: 48px !important;
	height: auto !important;
	padding: 0 32px !important;
	font-family: var(--jtc-label) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	margin-top: 8px;
}
#mc_embed_signup .button:hover,
#mc_embed_signup input[type="submit"]:hover { background: var(--jtc-gold-bright) !important; }

/* ---------- WPForms (contact form) to match the site ---------- */
div.wpforms-container-full .wpforms-form .wpforms-submit,
div.wpforms-container-full .wpforms-form button[type="submit"],
.wpforms-container .wpforms-form .wpforms-submit {
	background: var(--jtc-gold) !important;
	color: var(--jtc-ink) !important;
	border: 0 !important;
	border-radius: 2px !important;
	min-height: 48px !important;
	height: auto !important;
	padding: 0 32px !important;
	font-family: var(--jtc-label) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: none !important;
}
div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit:focus,
.wpforms-container .wpforms-form .wpforms-submit:hover {
	background: var(--jtc-gold-bright) !important;
	color: var(--jtc-ink) !important;
}
div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-family: var(--jtc-label);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--jtc-charcoal);
}
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form textarea {
	border: 1px solid var(--jtc-line) !important;
	border-radius: 2px !important;
	font-family: var(--jtc-body) !important;
	font-size: 17px !important;
}
div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form textarea:focus {
	border-color: var(--jtc-gold) !important;
	outline: 2px solid rgba(212, 170, 80, 0.35);
	box-shadow: none !important;
}
div.wpforms-container-full .wpforms-confirmation-container-full {
	background: #f6f1e6 !important;
	border: 1px solid var(--jtc-gold) !important;
	color: var(--jtc-ink) !important;
}

/* ---------- Gallery and older pages: light touch to match ---------- */
.entry-content .ngg-galleryoverview .ngg-gallery-thumbnail img,
.entry-content .gallery img {
	border: 1px solid var(--jtc-line);
}

/* ---------- Phones ---------- */
@media (max-width: 781px) {
	.jtc-hero { padding: 56px 0 64px; }
	.jtc-event .wp-block-buttons,
	.jtc-mailing .wp-block-buttons { justify-content: flex-start; }
	.jtc-about { padding: 64px 0 48px; }
	.jtc-shows, .jtc-mailing { padding: 56px 0; }
}
