/*
 * Press Area (template-parts/page-press.php) — the page's own rules, on the
 * .mwfe editorial system (custom-css/mwf.css, frozen). Loaded for that
 * template only (functions.php, mwf_enqueue_event_assets). Scoped
 * `.mwfe-press`, prefix `mwfp-`, sizes in rem.
 *
 * 2026-10-08: rebuilt from the white 2025 page. Five tiles over the hero's
 * edge (three panels in place, two links), glass rows for the files, photo
 * grids, the press office band with smstudio's real logo. Lightly animated:
 * the tiles rise once, a panel's blocks fade up when it opens (js/press.js).
 */

.mwfe-press { --mwfp-line: rgba(205, 173, 89, .22); }

/* ----------------------------------------------------------- hero */
.mwfe-press .mwfp-hero .mwfe-hero-inner { padding-bottom: clamp(5.5rem, 11vh, 8rem); }
.mwfe-press .mwfp-hero .mwfe-hero-meta { margin-bottom: 1.1rem; }
.mwfe-press .mwfp-hero .mwfe-hero-lead { max-width: 44rem; }

/* ---------------------------------------------------------- tiles */
.mwfe-press .mwfp-tabs { padding-top: 0; }
.mwfe-press .mwfp-tiles {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(.7rem, 1.4vw, 1.1rem);
	max-width: 76rem;
	margin: clamp(-4rem, -7vh, -2.8rem) auto 0;
	padding: 0 0 clamp(2rem, 5vh, 3.2rem);
}
.mwfe-press .mwfp-tiles button,
.mwfe-press .mwfp-tiles a {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .85rem;
	margin: 0;
	padding: 1.35rem .9rem 1.2rem;
	border: 1px solid var(--mwfp-line);
	border-radius: 1.1rem;
	background: rgba(var(--mwfe-ink-rgb), .72);
	backdrop-filter: blur(8px);
	box-shadow: 0 1.5rem 2.6rem -1.6rem rgba(0, 0, 0, .9);
	color: var(--mwfe-gold-light);
	font-family: var(--mwfe-sans);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform .35s cubic-bezier(.2, .65, .3, 1), border-color .3s, box-shadow .3s, background .3s;
}
.mwfe-press .mwfp-tiles.is-entering button,
.mwfe-press .mwfp-tiles.is-entering a { transition: none !important; }
.mwfe-press .mwfp-ico {
	display: grid;
	place-items: center;
	width: 3.1rem;
	height: 3.1rem;
	border: 1px solid var(--mwfp-line);
	border-radius: 50%;
	background: rgba(205, 173, 89, .08);
	transition: background .3s, border-color .3s;
}
.mwfe-press .mwfp-ico svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: var(--mwfe-brass); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: stroke .3s; }
.mwfe-press .mwfp-tile-t { display: flex; flex-direction: column; gap: .35rem; }
.mwfe-press .mwfp-tile-t b { font-weight: 700; }
.mwfe-press .mwfp-tile-t small {
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: none;
	color: var(--mwfe-cream-dim);
}
.mwfe-press .mwfp-tile-t .mwfe-arrow { font-size: .8em; }
.mwfe-press .mwfp-ext { display: inline-block; vertical-align: -.2em; }
.mwfe-press .mwfp-ext svg { width: .95em; height: .95em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mwfe-press .mwfp-tiles button.is-active {
	border-color: var(--mwfe-brass);
	background: rgba(var(--mwfe-ink-rgb), .92);
	box-shadow: 0 0 0 1px rgba(205, 173, 89, .35), 0 1.6rem 2.8rem -1.4rem rgba(0, 0, 0, .9);
}
.mwfe-press .mwfp-tiles button.is-active .mwfp-ico { background: var(--mwfe-brass); border-color: var(--mwfe-brass); }
.mwfe-press .mwfp-tiles button.is-active .mwfp-ico svg { stroke: var(--mwfe-bg-deep); }
.mwfe-press .mwfp-tiles button.is-active::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -.55rem;
	width: .7rem;
	height: .7rem;
	transform: translateX(-50%) rotate(45deg);
	background: var(--mwfe-brass);
	border-radius: .1rem;
}
@media (hover: hover) {
	.mwfe-press .mwfp-tiles button:hover,
	.mwfe-press .mwfp-tiles a:hover { transform: translateY(-.3rem); border-color: var(--mwfe-brass); }
	.mwfe-press .mwfp-tiles a:hover .mwfp-ico { background: rgba(205, 173, 89, .18); border-color: var(--mwfe-brass); }
}
.mwfe-press .mwfp-tiles button:focus-visible,
.mwfe-press .mwfp-tiles a:focus-visible { outline: 2px solid var(--mwfe-gold-light); outline-offset: 3px; }

/* ---------------------------------------------------------- panels */
.mwfe-press .mwfe-panel { padding: clamp(1rem, 3vh, 2rem) 0 clamp(3rem, 8vh, 5rem); }
.mwfe-press .mwfp-head { text-align: center; max-width: 46rem; margin: 0 auto clamp(1.4rem, 4vh, 2.4rem); }
.mwfe-press .mwfp-head .mwfe-kicker { justify-content: center; }
.mwfe-press .mwfp-head .mwfe-kicker::before { display: none; }
.mwfe-press .mwfp-head .mwfe-h2 { margin: .3rem 0 .6rem; }
.mwfe-press .mwfp-head p { margin: 0; color: var(--mwfe-cream-dim); }
.mwfe-press .mwfp-h3 {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin: clamp(1.6rem, 4vh, 2.6rem) 0 .9rem;
	font-family: var(--mwfe-serif);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--mwfe-gold-light);
}
.mwfe-press .mwfp-h3::after { content: ""; flex: 1; height: 1px; background: var(--mwfp-line); }
.mwfe-press .mwfp-h3 em {
	order: 2;
	font-family: var(--mwfe-sans);
	font-size: .66rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--mwfe-brass);
	border: 1px solid var(--mwfp-line);
	border-radius: 999px;
	padding: .3em .8em;
}
.mwfe-press .mwfp-note { margin: 0 0 1rem; font-size: .92rem; line-height: 1.6; color: var(--mwfe-cream-dim); }
.mwfe-press .mwfp-note--center { text-align: center; margin-top: 1rem; }

/* the files: glass rows */
.mwfe-press .mwfp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.mwfe-press .mwfp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .7rem; }
.mwfe-press .mwfp-row {
	display: flex;
	align-items: center;
	gap: .95rem;
	padding: .9rem 1.05rem;
	border: 1px solid var(--mwfp-line);
	border-radius: .95rem;
	background: var(--mwfe-glass);
	color: var(--mwfe-cream);
	text-decoration: none;
	transition: transform .3s cubic-bezier(.2, .65, .3, 1), border-color .3s, background .3s;
}
.mwfe-press .mwfp-type {
	flex: 0 0 auto;
	padding: .4em .6em;
	border-radius: .4rem;
	background: var(--mwfe-brass);
	color: var(--mwfe-bg-deep);
	font-family: var(--mwfe-sans);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .1em;
}
.mwfe-press .mwfp-row-t { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.mwfe-press .mwfp-row-t b { font-family: var(--mwfe-sans); font-size: .95rem; font-weight: 600; line-height: 1.35; }
.mwfe-press .mwfp-row-t small { font-size: .76rem; color: var(--mwfe-cream-dim); font-variant-numeric: lining-nums; }
.mwfe-press .mwfp-dl { flex: 0 0 auto; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1px solid var(--mwfp-line); border-radius: 50%; transition: background .3s, border-color .3s; }
.mwfe-press .mwfp-dl svg, .mwfe-press .mwfp-ph-dl svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: var(--mwfe-brass); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: stroke .3s; }
@media (hover: hover) {
	.mwfe-press .mwfp-row:hover { transform: translateY(-2px); border-color: var(--mwfe-brass); background: rgba(var(--mwfe-ink-rgb), .7); }
	.mwfe-press .mwfp-row:hover .mwfp-dl { background: var(--mwfe-brass); border-color: var(--mwfe-brass); }
	.mwfe-press .mwfp-row:hover .mwfp-dl svg { stroke: var(--mwfe-bg-deep); }
}
.mwfe-press .mwfp-row:focus-visible { outline: 2px solid var(--mwfe-gold-light); outline-offset: 3px; }

/* the pictures */
.mwfe-press .mwfp-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .7rem; }
.mwfe-press .mwfp-gallery--square { grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); }
.mwfe-press .mwfp-gallery--wide { grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
.mwfe-press .mwfp-ph {
	position: relative;
	display: block;
	margin: 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border: 1px solid var(--mwfp-line);
	border-radius: .85rem;
	background: rgba(0, 0, 0, .3);
	transition: border-color .3s, box-shadow .3s;
}
.mwfe-press .mwfp-gallery--square .mwfp-ph { aspect-ratio: 1 / 1; background: #ffffff; }
.mwfe-press .mwfp-gallery--wide .mwfp-ph { aspect-ratio: 3 / 1; }
.mwfe-press .mwfp-ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .65, .3, 1); }
.mwfe-press .mwfp-gallery--square .mwfp-ph img { object-fit: contain; }
.mwfe-press .mwfp-ph-dl {
	position: absolute;
	right: .6rem;
	bottom: .6rem;
	display: grid;
	place-items: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background: rgba(var(--mwfe-ink-rgb), .82);
	border: 1px solid rgba(205, 173, 89, .5);
	opacity: 0;
	transform: translateY(.4rem);
	transition: opacity .3s, transform .3s, background .3s;
}
@media (hover: hover) {
	.mwfe-press a.mwfp-ph:hover { border-color: var(--mwfe-brass); box-shadow: 0 1.2rem 2rem -1.2rem rgba(0, 0, 0, .9); }
	.mwfe-press a.mwfp-ph:hover img { transform: scale(1.05); }
	.mwfe-press a.mwfp-ph:hover .mwfp-ph-dl { opacity: 1; transform: translateY(0); background: var(--mwfe-brass); }
	.mwfe-press a.mwfp-ph:hover .mwfp-ph-dl svg { stroke: var(--mwfe-bg-deep); }
}
@media (hover: none) {
	.mwfe-press a.mwfp-ph .mwfp-ph-dl { opacity: 1; transform: none; }
}
.mwfe-press a.mwfp-ph:focus-visible { outline: 2px solid var(--mwfe-gold-light); outline-offset: 3px; }
.mwfe-press .mwfp-actions { display: flex; justify-content: center; margin-top: clamp(1.6rem, 4vh, 2.4rem); }

/* the accreditation form (the plugin's card, mwf.css styles it): its own
   head repeats the title in the card — made smaller here, the panel has one */
.mwfe-press .mwfp-form { max-width: 62rem; margin: 0 auto; }
.mwfe-press .mwfp-form .mwfe-form-head { margin-bottom: 2vh; }
.mwfe-press .mwfp-form .mwfe-form-head h3 { font-family: var(--mwfe-serif); font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 600; line-height: 1.2; margin: 0 0 .3rem; color: var(--mwfe-wine); text-align: center; }
.mwfe-press .mwfp-form .mwfe-form-head h3 span { color: #b8933f; font-weight: 500; }
.mwfe-press .mwfp-form .wpcf7-response-output[aria-hidden="true"] { display: none; }

/* ---------------------------------------------------- press office */
.mwfe-press .mwfp-band .mwfe-band-inner > p { max-width: 38rem; margin: .6rem auto 0; color: var(--mwfe-cream-dim); }
.mwfe-press .mwfp-logo { display: block; width: min(15rem, 60%); margin: 1.2rem auto 1.4rem; }
.mwfe-press .mwfp-logo img { display: block; width: 100%; height: auto; }
.mwfe-press .mwfp-band .mwfe-band-title { font-size: clamp(1.5rem, 3.2vw, 2.4rem); margin: 0; }
.mwfe-press .mwfp-contacts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
	max-width: 42rem;
	margin: clamp(1.4rem, 4vh, 2.2rem) auto 0;
}
.mwfe-press .mwfp-contact {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: 1.1rem 1.2rem;
	border: 1px solid var(--mwfp-line);
	border-radius: 1rem;
	background: rgba(var(--mwfe-ink-rgb), .45);
	text-align: center;
}
.mwfe-press .mwfp-contact b { font-family: var(--mwfe-serif); font-size: 1.3rem; font-weight: 600; color: var(--mwfe-gold-light); margin-bottom: .2rem; }
.mwfe-press .mwfp-contact a { color: var(--mwfe-cream); text-decoration: none; font-size: .95rem; font-variant-numeric: lining-nums; border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; align-self: center; }
.mwfe-press .mwfp-contact a:hover { color: var(--mwfe-gold-light); border-color: var(--mwfe-brass); }
.mwfe-press .mwfp-band-actions { justify-content: center; }

/* --------------------------------------------------------- phones */
@media (max-width: 900px) {
	.mwfe-press .mwfp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mwfe-press .mwfp-tiles > :nth-child(5) { grid-column: 1 / -1; justify-self: center; width: calc(50% - .35rem); }
	.mwfe-press .mwfp-cards { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.mwfe-press .mwfp-hero .mwfe-hero-inner { padding-bottom: clamp(4.5rem, 9vh, 6rem); }
	.mwfe-press .mwfp-tiles { margin-top: -2.6rem; }
	.mwfe-press .mwfp-tiles button, .mwfe-press .mwfp-tiles a { padding: 1.1rem .7rem 1rem; font-size: .6rem; }
	.mwfe-press .mwfp-ico { width: 2.7rem; height: 2.7rem; }
	.mwfe-press .mwfp-h3 { font-size: 1.3rem; }
	.mwfe-press .mwfp-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mwfe-press .mwfp-gallery--square { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mwfe-press .mwfp-gallery--wide { grid-template-columns: 1fr; }
	.mwfe-press .mwfp-contacts { grid-template-columns: 1fr; }
	.mwfe-press .mwfp-logo { width: min(12rem, 70%); }
}
@media (max-width: 480px) {
	.mwfe-press .mwfp-row { flex-wrap: wrap; }
	.mwfe-press .mwfp-row-t { flex-basis: calc(100% - 3.6rem); }
}

/* ------------------------------------------- no script, less motion */
@media (prefers-reduced-motion: reduce) {
	.mwfe-press .mwfp-tiles button, .mwfe-press .mwfp-tiles a, .mwfe-press .mwfp-row, .mwfe-press .mwfp-ph img, .mwfe-press .mwfp-ph-dl { transition: none; }
}

/* the SmugMug gallery (inc/mwf-smugmug.php, 2026-10-09): the first rows
   show, the rest waits behind the «show more» button */
.mwfe-press .mwfp-gallery--smug .mwfp-ph.is-more { display: none; }
.mwfe-press .mwfp-gallery--smug.is-open .mwfp-ph.is-more { display: block; }
.mwfe-press .mwfp-gallery--smug .mwfp-ph.is-portrait img { object-position: 50% 30%; }
.mwfe-press .mwfp-actions--more { margin-top: 1rem; justify-content: center; }

/* a folder of galleries: cards, then one gallery's photographs in their place */
.mwfe-press .mwfp-albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .9rem; }
.mwfe-press .mwfp-album-card {
	position: relative;
	display: grid;
	gap: .6rem;
	padding: 0 0 .7rem;
	margin: 0;
	border: 1px solid var(--mwfp-line);
	border-radius: .9rem;
	background: rgba(0, 0, 0, .25);
	color: var(--mwfe-cream);
	text-align: left;
	font: inherit;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .3s, box-shadow .3s, transform .5s cubic-bezier(.2, .65, .3, 1);
}
.mwfe-press .mwfp-album-card:hover, .mwfe-press .mwfp-album-card:focus-visible { border-color: rgba(205, 173, 89, .6); box-shadow: 0 1.2rem 2.4rem -1.4rem rgba(0, 0, 0, .8); transform: translateY(-.2rem); outline: none; }
.mwfe-press .mwfp-album-cover { display: block; aspect-ratio: 3 / 2; background: rgba(0, 0, 0, .35); overflow: hidden; }
.mwfe-press .mwfp-album-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .65, .3, 1); }
.mwfe-press .mwfp-album-card:hover .mwfp-album-cover img { transform: scale(1.04); }
.mwfe-press .mwfp-album-t { display: grid; gap: .15rem; padding: 0 .9rem; }
.mwfe-press .mwfp-album-t b { font-family: var(--mwfe-serif); font-weight: 500; font-size: 1.25rem; line-height: 1.15; }
.mwfe-press .mwfp-album-t small { font-family: var(--mwfe-sans); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mwfe-cream-dim); }
.mwfe-press .mwfp-album-open { position: absolute; right: .9rem; bottom: .75rem; font-family: var(--mwfe-sans); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mwfe-brass); opacity: 0; transition: opacity .3s; }
.mwfe-press .mwfp-album-card:hover .mwfp-album-open { opacity: 1; }
.mwfe-press .mwfp-smug-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem; margin: 0 0 1rem; }
.mwfe-press .mwfp-smug-bar .mwfp-h3 { margin: 0; }
.mwfe-press .mwfp-smug-album .mwfp-actions { margin-top: 1.4rem; }
@media (max-width: 600px) {
	.mwfe-press .mwfp-albums { grid-template-columns: 1fr 1fr; gap: .6rem; }
	.mwfe-press .mwfp-album-t b { font-size: 1.05rem; }
	.mwfe-press .mwfp-album-open { display: none; }
}

/* the viewer (js/press.js, 2026-10-09): one photograph full screen over a
   dark glass, arrows at the sides, the counter + caption + download under it */
html.mwfp-lb-open { overflow: hidden; }
.mwfp-lb { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; color: var(--mwfe-cream, #f4efe4); }
.mwfp-lb[hidden] { display: none; }
.mwfp-lb-back { position: absolute; inset: 0; background: rgba(26, 12, 14, .94); backdrop-filter: blur(10px); }
.mwfp-lb-stage { position: relative; z-index: 1; display: grid; place-items: center; width: 100vw; height: 100vh; padding: 4.5rem 5.5rem 6.5rem; touch-action: pan-y; cursor: zoom-out; }
.mwfp-lb-img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: .6rem; box-shadow: 0 2.5rem 5rem -2rem rgba(0, 0, 0, .9); user-select: none; -webkit-user-drag: none; cursor: grab; }
.mwfp-lb-img:active { cursor: grabbing; }
.mwfp-lb-btn {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: 1px solid rgba(205, 173, 89, .5);
	background: rgba(26, 12, 14, .6);
	color: var(--mwfe-cream, #f4efe4);
	font: 1.35rem/1 var(--mwfe-serif);
	cursor: pointer;
	transition: background .3s, border-color .3s, transform .3s;
}
.mwfp-lb-btn:hover, .mwfp-lb-btn:focus-visible { background: rgba(205, 173, 89, .9); color: #28191b; border-color: rgba(205, 173, 89, .9); outline: none; }
.mwfp-lb-close { top: 1.2rem; right: 1.2rem; }
.mwfp-lb-prev { left: 1.2rem; top: 50%; transform: translateY(-50%); }
.mwfp-lb-next { right: 1.2rem; top: 50%; transform: translateY(-50%); }
.mwfp-lb-prev:hover { transform: translateY(-50%) translateX(-.15rem); }
.mwfp-lb-next:hover { transform: translateY(-50%) translateX(.15rem); }
.mwfp-lb.is-single .mwfp-lb-prev, .mwfp-lb.is-single .mwfp-lb-next { display: none; }
.mwfp-lb-bar { position: absolute; z-index: 2; left: 1.4rem; right: 1.4rem; bottom: 1.3rem; display: flex; align-items: center; gap: 1rem; }
.mwfp-lb-n { font-family: var(--mwfe-sans); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--mwfe-brass, #cdad59); flex: none; }
.mwfp-lb-cap { font-family: var(--mwfe-serif); font-style: italic; font-size: 1.05rem; color: var(--mwfe-cream-dim, #d3c6b4); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mwfp-lb-dl { flex: none; margin-left: auto; }
.mwfp-lb-dl-ico svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 700px) {
	.mwfp-lb-stage { padding: 4rem 1rem 7.5rem; }
	.mwfp-lb-prev, .mwfp-lb-next { display: none; }
	.mwfp-lb-bar { flex-wrap: wrap; gap: .6rem .9rem; left: 1rem; right: 1rem; bottom: 1rem; }
	.mwfp-lb-cap { flex-basis: 100%; order: 3; white-space: normal; font-size: .95rem; }
	.mwfp-lb-dl { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.mwfp-lb-btn { transition: none; }
}

