/* JVD Traditionsskin R8. Shared presentation stays in the theme, not in post HTML. */
:root {
	--jvd-tradition-green: #244732;
	--jvd-tradition-dark: #222624;
	--jvd-tradition-brass: #ad925d;
	--jvd-tradition-line: #d8ded7;
	--jvd-tradition-serif: Georgia, 'Times New Roman', serif;
}

body { background: #fff; color: #242824; }
.wp-site-blocks { background: #fff; }
.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3,
.wp-site-blocks h4 { font-family: var(--jvd-tradition-serif); }

/* The existing navigation keeps its links and mobile behavior. */
.jvd-site-header.has-background {
	background: #27342e !important;
	border: 0;
	color: #fff;
	position: relative;
	z-index: 20;
}
.jvd-site-header > .wp-block-group { max-width: 1240px; }
.jvd-site-header .wp-block-site-title,
.jvd-site-header .wp-block-site-title a,
.jvd-site-header .wp-block-navigation a { color: #fff; }
.jvd-site-header .wp-block-site-title { display: none; font: 700 1.1rem/1.25 var(--jvd-tradition-serif); }
.jvd-site-header > .wp-block-group { justify-content: center; }
.jvd-site-header .wp-block-navigation { font-size: .79rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.jvd-site-header .wp-block-navigation-item__content { padding: .45rem .2rem; }
.jvd-site-header .wp-block-navigation-item__content:hover,
.jvd-site-header .wp-block-navigation-item__content:focus-visible { color: #b9dfab; }
.jvd-site-header .wp-block-navigation__submenu-container { background: #29352e !important; border: 1px solid #536056 !important; }
.jvd-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #fff !important; }
.jvd-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.jvd-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { color: #b9dfab !important; }
.jvd-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #242824 !important; }
.jvd-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.jvd-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { color: #244732 !important; }
.jvd-site-header .wp-block-navigation__responsive-container-open { color: #fff; }
.jvd-front .jvd-site-header.has-background {
	background: rgb(33 38 34 / 74%) !important;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 15px;
	box-shadow: 0 4px 15px rgb(0 0 0 / 18%);
	left: 0;
	margin-inline: auto;
	max-width: 1220px;
	position: absolute;
	right: 0;
	top: 18px;
	width: calc(100% - 40px);
}
.jvd-front .jvd-site-header .wp-block-site-title { display: none; }
.jvd-front .jvd-site-header > .wp-block-group { justify-content: center; }

/* The original club photograph is a local, cacheable theme asset. */
.jvd-hero {
	align-items: center;
	background: linear-gradient(90deg, rgb(20 24 19 / 39%), rgb(20 24 19 / 7%) 70%),
		url('jvd-rehbock-hero.jpg') left center / cover no-repeat;
	box-sizing: border-box;
	display: flex;
	min-height: clamp(590px, 67vw, 825px);
	padding: 7rem clamp(1.25rem, 4vw, 4rem) 8rem;
	position: relative;
}
.jvd-hero::after,
.jvd-inner-hero::after {
	background: #fff;
	bottom: -1px;
	clip-path: polygon(0 68%, 2% 78%, 4% 59%, 6% 72%, 9% 67%, 12% 82%, 15% 63%, 18% 75%, 22% 64%, 26% 82%, 31% 70%, 36% 84%, 42% 61%, 47% 75%, 53% 66%, 58% 80%, 65% 64%, 71% 76%, 77% 60%, 83% 74%, 89% 66%, 94% 80%, 100% 62%, 100% 100%, 0 100%);
	content: '';
	height: 26px;
	left: 0;
	position: absolute;
	right: 0;
}
.jvd-hero h1 {
	color: #fff !important;
	font: 400 clamp(2.7rem, 5.5vw, 5rem)/1.06 var(--jvd-tradition-serif);
	letter-spacing: .02em;
	max-width: 1240px;
	text-align: center;
	text-shadow: 0 2px 8px rgb(0 0 0 / 27%);
	width: 100%;
}
@media (min-width: 1100px) { .jvd-hero h1 { white-space: nowrap; } }
.jvd-inner-hero {
	align-items: center;
	background: linear-gradient(90deg, rgb(20 24 19 / 45%), rgb(20 24 19 / 5%) 70%),
		url('jvd-rehbock-hero.jpg') center 12% / cover no-repeat;
	display: flex;
	min-height: clamp(230px, 31vw, 390px);
	padding: 2.5rem 1.25rem 3rem;
	position: relative;
}
.jvd-inner-hero p {
	color: #fff;
	font: 400 clamp(2.25rem, 5vw, 5rem)/1.1 var(--jvd-tradition-serif);
	margin: 0 auto;
	text-align: center;
	text-shadow: 0 2px 8px rgb(0 0 0 / 30%);
}
.jvd-welcome { padding: 1.25rem 1.25rem 1.75rem; text-align: center; }
.jvd-welcome__crest { margin: 0 auto 1rem; max-width: 150px; }
.jvd-welcome__crest img { height: auto; width: 150px; }
.jvd-welcome__eyebrow,
.jvd-news__eyebrow { color: #66746a; font-size: .82rem; font-weight: 700; letter-spacing: .13em; }
.jvd-welcome h2 { color: #232923; font-family: Arial, Helvetica, sans-serif; font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin: .3rem 0 .75rem; }
.jvd-welcome > p:last-child { font-size: 1rem; line-height: 1.7; margin: 0 auto; max-width: 800px; }

.jvd-pillars { padding: 1rem 1.25rem 3.5rem; }
.jvd-pillars .wp-block-columns { gap: 1rem; }
.jvd-pillar {
	background: #fff;
	border: 1px solid #e2e7df;
	border-top: 5px solid var(--jvd-tradition-green);
	box-shadow: 0 4px 13px rgb(25 35 26 / 9%);
	box-sizing: border-box;
	height: 100%;
	padding: 1.5rem 1.25rem;
	text-align: center;
}
.jvd-pillar h3 { color: #344e3d; font-family: Arial, Helvetica, sans-serif; font-size: 1.18rem; margin: 0 0 .75rem; }
.jvd-pillar p { color: #49514b; font-size: .96rem; margin: 0; }

.jvd-news { padding-top: 2rem; text-align: center; }
.jvd-news__eyebrow { margin-bottom: 0; }
.jvd-news h2 { color: #232923; font-family: Arial, Helvetica, sans-serif; font-size: clamp(2rem, 3.5vw, 3rem); margin: .1rem auto .5rem; }
.jvd-news__intro { color: #66716a; margin: 0 auto 2rem; max-width: 650px; }
.jvd-news > .wp-block-query { margin-inline: auto; max-width: 1120px; width: calc(100% - 2rem); }
.jvd-news .wp-block-post-template { align-items: stretch; gap: 1.35rem; text-align: left; }
.jvd-news-card.jvd-card {
	border: 1px solid #dce3dc;
	border-radius: 4px;
	box-shadow: 0 4px 10px rgb(0 0 0 / 13%);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	padding: 0;
}
.jvd-news-card .wp-block-post-featured-image { margin: 0; }
.jvd-news-card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; border-radius: 0; width: 100%; }
.jvd-news-card .wp-block-post-title,
.jvd-news-card .wp-block-post-excerpt { margin: .8rem 1rem 0; }
.jvd-news-card .wp-block-post-title { font: 700 1.15rem/1.25 Arial, Helvetica, sans-serif; }
.jvd-news-card .wp-block-post-title a { color: #242824; text-decoration: none; }
.jvd-news-card .wp-block-post-title a:hover { color: var(--jvd-tradition-green); text-decoration: underline; }
.jvd-news-card .wp-block-post-excerpt { color: #454c46; font-size: .91rem; line-height: 1.55; }
.jvd-news-card .wp-block-post-date {
	border-top: 1px solid #dfe4df;
	color: #5b685e;
	font-size: .8rem;
	font-weight: 700;
	margin: auto 0 0;
	padding: .8rem 1rem;
}
.jvd-news .wp-block-buttons { margin-top: 2rem; }
.jvd-news .wp-block-button__link { background: var(--jvd-tradition-green) !important; border-color: var(--jvd-tradition-green) !important; border-radius: 2px !important; color: #fff !important; }

/* Keep the approved shooting-range information, but return it to the old site's light surface. */
.jvd-front .jvd-section.has-waldgruen-background-color { background: #fff !important; color: #242824 !important; }
.jvd-front .jvd-section.has-waldgruen-background-color h2 { color: #263b2c !important; }
.jvd-front .jvd-section.has-waldgruen-background-color h3 { color: #36553d !important; }
.jvd-front .jvd-section.has-waldgruen-background-color .wp-block-button__link { background: var(--jvd-tradition-green) !important; border-color: var(--jvd-tradition-green) !important; color: #fff !important; }

.jvd-story-shell { padding: clamp(2rem, 5vw, 4rem) 1.25rem; }
.jvd-story-shell > .wp-block-post-title { color: #1e3828; font-size: clamp(2rem, 4vw, 3.6rem); }
.jvd-story-shell > .wp-block-post-date { color: #617166; display: block; margin: .75rem 0 1.5rem; }
.jvd-story-shell > .wp-block-post-featured-image img { border-radius: 2px; max-height: 34rem; object-fit: cover; }
/* A poster-only story shows its full poster in the article; do not crop and repeat it above. */
.jvd-story-shell:has(.jvd-story > figure:only-child) > .wp-block-post-featured-image { display: none; }
.jvd-story-shell .wp-block-post-content { font-size: 1.05rem; line-height: 1.75; }
.jvd-story-shell .wp-block-post-content img { height: auto; max-width: 100%; }
.jvd-story-shell .wp-block-post-content iframe,
.jvd-story-shell .wp-block-post-content video { max-width: 100%; }
.jvd-story-shell .wp-block-post-content h2,
.jvd-story-shell .wp-block-post-content h3 { margin-top: 2rem; }
.jvd-story-nav { border-top: 1px solid var(--jvd-tradition-line); margin-top: 3rem; padding-top: 1.25rem; }
.jvd-story { margin: 0 auto; max-width: 760px; }
.jvd-story .jvd-story__lead { color: #254331; font-size: 1.2rem; font-weight: 600; }
.jvd-story .jvd-story__note { background: #f4f6f2; border-left: 4px solid var(--jvd-tradition-green); padding: 1rem 1.25rem; }
.jvd-story figure { margin: 1.8rem 0; }
.jvd-story figcaption { color: #657268; font-size: .86rem; text-align: center; }
.jvd-story .jvd-story__gallery { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jvd-story .jvd-story__gallery figure { margin: 0; }
.jvd-story .jvd-story__gallery img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.jvd-story .jvd-story__video { aspect-ratio: 16 / 9; height: auto; width: 100%; }

.jvd-footer.has-background { background: linear-gradient(#363936, #1f211f) !important; }
.jvd-footer h2 { color: #fff; font: 700 1rem/1.3 Arial, Helvetica, sans-serif; }
.jvd-footer a:hover { color: #d8eccf; }
.jvd-page-main, .jvd-list-main { background: #fff; }
.jvd-list-main { padding-block: 3rem 5rem; }
.jvd-list-main > .wp-block-query,
.jvd-list-main > .wp-block-query-title,
.jvd-list-main > .wp-block-heading,
.jvd-list-main > .wp-block-term-description,
.jvd-list-main > .wp-block-search { margin-inline: auto; max-width: 1120px; width: calc(100% - 2rem); }
.jvd-list-main .wp-block-post-template { display: grid; gap: 1.35rem; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.jvd-list-main .jvd-card { border: 1px solid #dce3dc; border-radius: 4px; box-shadow: 0 4px 10px rgb(0 0 0 / 10%); min-width: 0; overflow: hidden; padding: 0; }
.jvd-list-main .jvd-card .wp-block-post-featured-image { margin: 0; }
.jvd-list-main .jvd-card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; border-radius: 0; object-fit: cover; width: 100%; }
.jvd-list-main .jvd-card .wp-block-post-date,
.jvd-list-main .jvd-card .wp-block-post-title,
.jvd-list-main .jvd-card .wp-block-post-excerpt { margin: .8rem 1rem; }
.jvd-list-main .jvd-card .wp-block-post-title { font: 700 1.2rem/1.3 Arial, Helvetica, sans-serif; }
.jvd-list-main .jvd-card .wp-block-post-title a { color: #242824; text-decoration: none; }
.jvd-list-main .jvd-card .wp-block-post-title a:hover { color: var(--jvd-tradition-green); text-decoration: underline; }
.jvd-list-main .jvd-card .wp-block-post-excerpt { font-size: .95rem; line-height: 1.55; }
.jvd-list-main .wp-block-query-pagination { margin-top: 2rem; }

@media (max-width: 781px) {
	.jvd-site-header > .wp-block-group { flex-wrap: nowrap; justify-content: space-between; }
	.jvd-site-header .wp-block-site-title { display: block; }
	.jvd-front .jvd-site-header.has-background { top: 10px; width: calc(100% - 20px); }
	.jvd-front .jvd-site-header .wp-block-site-title { display: block; font-size: .98rem; }
	.jvd-front .jvd-site-header > .wp-block-group { justify-content: space-between; }
	.jvd-hero { background-position: 66% center; min-height: 470px; padding: 6rem 1.25rem 4rem; }
	.jvd-hero h1 { font-size: clamp(2.3rem, 10vw, 3.7rem); text-align: left; white-space: normal; }
	.jvd-inner-hero { background-position: 66% 12%; min-height: 220px; }
	.jvd-inner-hero p { font-size: clamp(2rem, 8vw, 3.2rem); }
	.jvd-welcome { padding-top: 1rem; }
	.jvd-pillars .wp-block-columns { gap: .85rem; }
	.jvd-news .wp-block-post-template { grid-template-columns: 1fr; }
	.jvd-list-main .wp-block-post-template { grid-template-columns: 1fr !important; }
	.jvd-story .jvd-story__gallery { grid-template-columns: 1fr; }
}
