/*
Theme Name: Colossal Cave 3D - Cave Child
Theme URI: https://colossalcave3d.com/
Template: hello-elementor
Version: 1.0
Description: Child theme for Hello Elementor. Wraps blog posts and the /news/ archive in the Colossal Cave 3D cave shell (pinned cavern backdrop, wooden menu, translucent gold-bordered panel). Pages and the Elementor Canvas home page are untouched.
Author: Cygnus Entertainment
*/


/* ============================================================
   INTERIOR PAGE TEMPLATE  —  Colossal Cave 3D
   ------------------------------------------------------------
   Reuses the home page's pinned cave backdrop + wooden menu.
   No video, no logo, no treasure game. The page body scrolls;
   the backdrop and (on desktop/tablet) the menu stay pinned.
   To make a new page: copy this file, rename it to the page's
   slug (e.g. terms-of-service.html), change <title> + the
   <h1>, and replace everything inside .panel-inner.
   ============================================================ */

/* ---------- 1. ROOT VARIABLES (shared with home page) ---------- */
:root {
  --bar-max: 3840px;
  --gold: #d9b25e;
  --gold-bright: #ffe08a;
  --paper: #e9d6ab;

  --stage-max: 3840px;
  --feather-top: 64px;

  --menu-h: clamp(70px, 9.5vw, 150px);
  --stage-top-offset: 0px;
  --bottomrow-lift: 0px;

  /* Interior content panel: lightly transparent dark blue over the
     cave-blue spine, with a thin elegant gold border. */
  --panel-bg: rgba(6, 11, 28, 0.88);
  --panel-border: rgba(217, 178, 94, 0.55);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }
html, body {
  width: 100%;
  min-height: 100%;
  background: #01020e url('/wp-content/uploads/2026/06/Background_Tile.webp') repeat;
  background-size: 512px auto;
  font-family: 'IM Fell English', Georgia, serif;
  color: var(--paper);
  overflow-x: hidden;
}
@media (min-width: 4000px) { html, body { background-size: 1536px auto; } }
@media (min-width: 6000px) { html, body { background-size: 3072px auto; } }

/* Custom cursors */
html, body, a, span, div, button, img, svg, path {
  cursor: url('/wp-content/uploads/2026/06/CursorRegular.webp') 2 2, auto;
}
a, button, .clickable,
.platform-btn, .platform-btn *,
.word-link, .word-link *,
.hamburger, .hamburger *,
.mm-platform-grid a, .mm-platform-grid a *,
#mobile-menu a {
  cursor: url('/wp-content/uploads/2026/06/CursorHover.webp') 2 2, pointer;
}
a:active, button:active,
.platform-btn:active, .platform-btn:active *,
.word-link:active,
.mm-platform-grid a:active,
#mobile-menu a:active {
  cursor: url('/wp-content/uploads/2026/06/CursorClick.webp') 2 2, pointer;
}

img { display: block; user-select: none; -webkit-user-drag: none; }

/* ============================================================
   2. BACKGROUND STAGE  (pinned — the art does not tile)
   ============================================================ */
#stage { position: fixed; inset: 0; overflow: hidden; z-index: 1; background: transparent; }
#stage::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 100%; max-width: var(--stage-max); background: #010411; z-index: 0;
}
#hero-h {
  position: absolute; top: var(--stage-top-offset); left: 50%; transform: translateX(-50%);
  width: 100%; max-width: var(--stage-max); height: auto; z-index: 1;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--feather-top));
          mask-image: linear-gradient(to bottom, transparent 0, #000 var(--feather-top));
}
#hero-v {
  display: none; position: absolute; top: var(--stage-top-offset);
  left: -255.412%; width: 451.765%;
  max-width: none; height: auto; z-index: 1;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--feather-top));
          mask-image: linear-gradient(to bottom, transparent 0, #000 var(--feather-top));
}

/* ---------- 3. SIDE COLUMNS + BOTTOM ROWS (cave framing) ---------- */
.side-col {
  position: absolute; top: -60px; height: calc(100% + 120px);
  width: 13%; max-width: 500px; z-index: 5; pointer-events: none;
  background-repeat: repeat-y; background-position: center top; background-size: 100% auto;
}
#col-left  { left: calc(50% - min(50vw, 1920px)); transform: translateX(-50%); background-image: url('/wp-content/uploads/2026/06/StalagmitesStalctitesVerticalTile_01Left.webp'); }
#col-right { left: calc(50% + min(50vw, 1920px)); transform: translateX(-50%); background-image: url('/wp-content/uploads/2026/06/StalagmitesStalctitesVerticalTile_02Right.webp'); }

.bottom-row {
  position: absolute; bottom: calc(-60px + var(--bottomrow-lift));
  left: 50%; width: 100%; max-width: var(--bar-max); height: auto;
  pointer-events: none; transform: translateX(-50%);
}
#bottom-row-far   { z-index: 3; }
#bottom-row-mid   { z-index: 4; }
#bottom-row-close { z-index: 5; }

/* ============================================================
   4. CONTENT PANEL  (scrolls under the pinned menu)
   ============================================================ */
.page-wrap {
  position: relative; z-index: 50;
  width: 100%;
  /* clear the pinned menu, plus a little breathing room */
  padding: calc(var(--menu-h) + 28px) 4vw 7vh;
  display: flex; justify-content: center;
}
.panel {
  width: min(92%, 980px);
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: 14px;
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.55),
    inset 0 0 60px rgba(8, 14, 36, 0.55),
    0 0 0 1px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
  padding: clamp(26px, 4vw, 64px) clamp(22px, 4vw, 70px);
}
.panel-inner { max-width: 760px; margin: 0 auto; }

/* ---------- Content typography (light-on-dark cave styling) ---------- */
.panel h1 {
  font-family: 'Cinzel', serif; font-weight: 800;
  font-size: clamp(28px, 4.2vw, 52px); color: var(--gold-bright);
  letter-spacing: 0.04em; text-align: center; line-height: 1.1;
  text-shadow: 0 2px 4px rgba(0,0,0,0.7), 0 0 22px rgba(255,210,110,0.25);
  margin-bottom: 0.35em;
}
.panel .updated {
  font-family: 'Cinzel', serif; font-size: clamp(12px, 1.3vw, 15px);
  letter-spacing: 0.12em; text-transform: uppercase; text-align: center;
  color: var(--gold); opacity: 0.85; margin-bottom: 1.8em;
}
.panel .rule {
  width: 120px; height: 1px; margin: 0 auto 2em;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.panel h2 {
  font-family: 'Cinzel', serif; font-weight: 700;
  font-size: clamp(19px, 2.2vw, 30px); color: var(--gold-bright);
  letter-spacing: 0.02em; margin: 1.5em 0 0.4em;
  text-shadow: 0 1px 2px rgba(0,0,0,0.7);
}
.panel h3 {
  font-family: 'Cinzel', serif; font-weight: 600;
  font-size: clamp(16px, 1.8vw, 22px); color: var(--gold);
  letter-spacing: 0.02em; margin: 1.3em 0 0.35em;
}
.panel p { font-size: clamp(15px, 1.55vw, 19px); line-height: 1.68; margin: 0 0 1em; color: #efe6cd; }
.panel ul { margin: 0 0 1.1em 1.4em; }
.panel li { font-size: clamp(15px, 1.55vw, 19px); line-height: 1.6; margin-bottom: 0.45em; color: #efe6cd; }
.panel a { color: var(--gold-bright); text-decoration: underline; text-underline-offset: 2px; transition: color 0.18s ease; }
.panel a:hover { color: #fff3cf; }
.panel strong { color: #fff; font-weight: 700; }
.panel em { font-style: italic; }

.panel-foot {
  margin-top: 2.6em; padding-top: 1.4em; border-top: 1px solid rgba(217,178,94,0.25);
  text-align: center; font-size: clamp(12px, 1.3vw, 15px); color: var(--gold); opacity: 0.8; line-height: 1.6;
}

/* ============================================================
   5. MENU  (pinned — identical to home page)
   ============================================================ */
#menu {
  position: fixed; top: 0; left: 50%; transform: translateX(-50%);
  width: 100%; max-width: var(--bar-max); z-index: 100;
  display: flex; flex-direction: column; gap: 4px;
}
.menu-bar { position: relative; width: 100%; height: clamp(70px, 9.5vw, 150px); }
.bar-secondary { display: none; }
.menu-bar .wood {
  position: absolute; inset: 0; background-image: url('/wp-content/uploads/2026/06/MenuBar.webp');
  background-size: 100% 100%; background-position: center; background-repeat: no-repeat; z-index: 1;
}
.bar-secondary .wood { filter: brightness(1.12) contrast(0.96); transform: scaleX(-1) scaleY(-1); }
.menu-bar .cap { position: absolute; top: 0; height: 100%; z-index: 3; overflow: hidden; }
.menu-bar .cap img { height: 100%; width: auto; display: block; }
.menu-bar .cap-left { left: 0; }
.menu-bar .cap-right { right: 0; }
.bar-secondary .cap img { filter: brightness(0.86) contrast(1.05); }
.menu-bar .bar-content {
  position: absolute; top: 0; left: clamp(48px, 6vw, 196px); right: clamp(48px, 6vw, 193px);
  height: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 0 1%; gap: 1%; z-index: 2; overflow: hidden;
}
.platform-row { display: flex; align-items: center; justify-content: flex-start; gap: clamp(2px, 0.5vw, 14px); flex: 1 1 auto; min-width: 0; }
.platform-btn { display: flex; align-items: center; justify-content: center; width: clamp(34px, 5.2vw, 110px); height: clamp(34px, 5.2vw, 110px); flex: 0 1 auto; transition: transform 0.18s ease, filter 0.18s ease; }
.platform-btn img { width: 100%; height: 100%; object-fit: contain; }
.platform-btn:hover { transform: scale(1.08); filter: drop-shadow(0 0 10px var(--gold-bright)) brightness(1.12); }
.word-menu { position: relative; display: flex; align-items: center; height: 62%; flex: 0 1 auto; min-width: 0; }
.word-menu .wm-cap-l, .word-menu .wm-cap-r { height: 100%; width: auto; flex: 0 0 auto; display: block; }
.word-menu .wm-center {
  height: 100%; background-image: url('/wp-content/uploads/2026/06/WordMenu_02CenterBack.webp'); background-repeat: repeat-x; background-size: auto 100%;
  display: flex; align-items: center; justify-content: center; gap: clamp(5px, 0.9vw, 24px); padding: 0 clamp(5px, 0.9vw, 22px); min-width: 0;
}
.word-link {
  font-family: 'Cinzel', serif; font-weight: 700; font-size: clamp(9px, 1.05vw, 22px); letter-spacing: 0.03em;
  color: #c9a04e; text-shadow: 0 1px 1px rgba(0,0,0,0.9), 0 0 2px rgba(0,0,0,0.6); white-space: nowrap;
  text-decoration: none;
  transition: color 0.18s ease, text-shadow 0.18s ease, transform 0.18s ease;
}
.word-link:hover { color: var(--gold-bright); text-shadow: 0 0 10px rgba(255,210,110,0.9), 0 1px 1px rgba(0,0,0,0.9); transform: translateY(-1px); }

.brand-text {
  display: none; font-family: 'Cinzel', serif; font-weight: 800;
  font-size: clamp(21px, 6.3vw, 31px); color: #150a02; letter-spacing: 0.04em;
  text-shadow: 0 2px 5px rgba(233,214,171,0.95), 0 3px 11px rgba(233,214,171,0.65), 0 1px 0 rgba(255,236,196,0.5);
  white-space: nowrap; text-decoration: none;
}
.hamburger {
  display: none; width: 42px; height: 34px; flex-direction: column; justify-content: center; gap: 6px; flex: 0 0 auto;
  border: 1px solid #c2a36a; border-radius: 6px; background: rgba(233,214,171,0.18); padding: 6px 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 1px 2px rgba(0,0,0,0.5);
}
.hamburger span { display: block; height: 4px; border-radius: 2px; background: #1a0e04; box-shadow: 0 0 0 0.5px #c2a36a; }

/* ---------- 6. RESPONSIVE MENU (matches home tiers) ---------- */
@media (max-width: 1600px) { .word-link { letter-spacing: 0; } .word-menu .wm-center { gap: clamp(4px, 0.7vw, 14px); } }

@media (max-width: 1400px) and (min-width: 641px) {
  .bar-primary { height: clamp(80px, 11vw, 120px); }
  .bar-secondary { display: block; height: clamp(58px, 8vw, 92px); }
  .word-menu-inline { display: none; }
  :root { --menu-h: calc(clamp(80px, 11vw, 120px) + clamp(58px, 8vw, 92px) + 4px); }
  .bar-primary .bar-content { justify-content: center; padding: clamp(6px, 1.2vw, 14px) 1%; }
  .platform-row { flex: 0 0 auto; justify-content: center; width: 100%; gap: clamp(6px, 1.4vw, 22px); }
  .platform-btn { width: clamp(48px, 7.5vw, 80px); height: clamp(48px, 7.5vw, 80px); }
  .bar-secondary .bar-content { justify-content: center; padding: 0 1%; }
  .word-menu-stacked { flex: 0 0 auto; height: 76%; max-width: 96%; }
  .word-link { font-size: clamp(15px, 2.1vw, 24px); letter-spacing: 0.02em; }
  .bar-secondary .word-menu .wm-center { gap: clamp(10px, 1.8vw, 28px); }
  :root { --stage-top-offset: calc(clamp(80px, 11vw, 120px) + 2px); }
}

@media (max-width: 640px) {
  /* PHONES ONLY: let the menu bar scroll away with the page. */
  #menu { position: absolute; }
  #mobile-menu { position: absolute; }
  .bar-primary { height: 64px; }
  .bar-secondary { display: none; }
  .bar-primary .wood { background-size: cover; }
  .bar-primary .cap { display: none; }
  .bar-primary .bar-content { left: 0; right: 0; padding: 0 16px; justify-content: space-between; }
  .platform-row, .word-menu-inline { display: none; }
  .brand-text { display: block; }
  .hamburger { display: flex; }
  #col-left, #col-right { display: none; }
  #bottom-row-far, #bottom-row-mid, #bottom-row-close { display: none; }
  :root { --menu-h: 64px; --stage-top-offset: 32px; }
}

/* Vertical (tall portrait phones): swap to the sliced full-width hero. */
@media (max-width: 1080px) and (orientation: portrait) {
  :root { --stage-top-offset: 0px; }
  #hero-h { display: none; }
  #hero-v { display: block; }
}
@media (max-width: 1080px) and (orientation: portrait) {
  #col-left, #col-right { display: none; }
  #bottom-row-far, #bottom-row-mid, #bottom-row-close { display: none; }
}

/* ---------- 7. MOBILE DROPDOWN (identical to home) ---------- */
#mobile-menu {
  position: fixed; top: 64px; left: 0; width: 100%;
  background: linear-gradient(180deg, rgba(34,18,8,0.98), rgba(20,10,4,0.98));
  border-bottom: 3px solid #2a1808; box-shadow: 0 8px 24px rgba(0,0,0,0.8);
  z-index: 99; display: none; flex-direction: column; padding: 12px 16px 14px; max-height: 86vh; overflow-y: auto; gap: 2px;
}
#mobile-menu.open { display: flex; }
#mobile-menu .mm-section-title { font-family: 'Cinzel', serif; font-weight: 700; font-size: 14px; letter-spacing: 0.16em; color: var(--gold); padding: 8px 4px 5px; opacity: 0.85; text-shadow: 0 1px 2px rgba(0,0,0,0.8); }
#mobile-menu .mm-platform-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 2px 0 8px; width: 100%; }
#mobile-menu .mm-platform-grid a {
  display: block; min-width: 0; padding: 6px;
  background: rgba(217,178,94,0.06); border: 1px solid rgba(217,178,94,0.25); border-radius: 10px;
  transition: background 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}
#mobile-menu .mm-platform-grid a:hover, #mobile-menu .mm-platform-grid a:active { background: rgba(217,178,94,0.18); border-color: var(--gold); transform: scale(1.05); }
/* image drives the (square) cell height — avoids the iOS grid aspect-ratio overflow */
#mobile-menu .mm-platform-grid img { width: 100%; height: auto; display: block; border-radius: 5px; filter: drop-shadow(0 1px 3px rgba(0,0,0,0.6)); }
#mobile-menu a {
  font-family: 'IM Fell English SC', 'Cinzel', serif; font-size: 22px; font-weight: 700;
  color: #1a0e04; background: var(--paper); border: 1px solid #c2a36a; border-radius: 6px;
  padding: 5px 18px;
  margin: 1px 0; text-decoration: none; letter-spacing: 0.05em;
  transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}
#mobile-menu a:hover, #mobile-menu a:active { background: var(--gold-bright); color: #1a0e04; transform: translateX(2px); }

/* LANDSCAPE PHONE: collapse to the hamburger like portrait, keep the menu
   scrollable, and lay the 8 platform icons out in a single row. */
@media (max-height: 500px) and (orientation: landscape) {
  #menu, #mobile-menu { position: absolute; }
  .bar-primary { height: 64px; }
  .bar-secondary { display: none; }
  .bar-primary .cap { display: none; }
  .bar-primary .bar-content { left: 0; right: 0; padding: 0 16px; justify-content: space-between; }
  .platform-row, .word-menu-inline { display: none; }
  .brand-text { display: block; }
  .hamburger { display: flex; }
  :root { --menu-h: 64px; }
  #mobile-menu { max-height: calc(100dvh - 64px); }
  #mobile-menu .mm-platform-grid { grid-template-columns: repeat(8, 1fr); }
  #mobile-menu .mm-platform-grid a { padding: 5px; }
}
/* keep the dropdown within the screen on portrait phones too */
@media (max-width: 640px) {
  #mobile-menu { max-height: calc(100dvh - 64px); }
}

/* ============================================================
   ABOUT-PAGE ADDITIONS  (documentary, people, team grid, modals)
   ============================================================ */
/* Documentary hero / play button */
.doc-hero{ position:relative; display:block; width:100%; aspect-ratio:16/9; margin:0.4em 0 1.9em; padding:0;
  border:1px solid var(--panel-border); border-radius:12px; overflow:hidden; cursor:pointer;
  background:#02040f center/cover no-repeat;
  background-image:linear-gradient(180deg, rgba(2,4,15,.25), rgba(2,4,15,.80)), url('https://img.youtube.com/vi/ms9i_1s4j7Y/maxresdefault.jpg');
  box-shadow:inset 0 0 60px rgba(0,0,0,.5); transition:transform .2s ease, box-shadow .2s ease; }
.doc-hero:hover{ transform:translateY(-2px); box-shadow:inset 0 0 60px rgba(0,0,0,.5), 0 12px 34px rgba(0,0,0,.55); }
.doc-hero .doc-label{ position:absolute; top:13%; left:0; right:0; text-align:center; font-family:'Cinzel',serif;
  font-weight:800; color:var(--gold-bright); font-size:clamp(20px,3.4vw,40px); letter-spacing:.08em; text-shadow:0 2px 8px rgba(0,0,0,.85); }
.doc-hero .doc-sub{ position:absolute; top:29%; left:0; right:0; text-align:center; font-family:'Cinzel',serif;
  font-weight:500; color:var(--paper); font-size:clamp(11px,1.6vw,18px); letter-spacing:.24em; text-transform:uppercase; opacity:.92; text-shadow:0 2px 6px rgba(0,0,0,.85); }
.doc-play{ position:absolute; left:50%; top:60%; transform:translate(-50%,-50%);
  width:clamp(58px,9vw,92px); height:clamp(58px,9vw,92px); border-radius:50%;
  background:radial-gradient(circle at 50% 38%, rgba(255,224,138,.97), rgba(217,178,94,.94));
  display:flex; align-items:center; justify-content:center; color:#241405; font-size:clamp(24px,4vw,40px);
  padding-left:.16em; box-shadow:0 6px 20px rgba(0,0,0,.6), 0 0 0 8px rgba(255,224,138,.18); transition:transform .2s ease; }
.doc-hero:hover .doc-play{ transform:translate(-50%,-50%) scale(1.08); }

/* Principal person blocks */
.person{ overflow:hidden; }
.person-photo{ float:right; width:clamp(150px,30%,228px); margin:.3em 0 1em 1.6em; border-radius:12px;
  border:1px solid var(--panel-border); box-shadow:0 8px 24px rgba(0,0,0,.5); }
@media (max-width:600px){ .person-photo{ float:none; display:block; margin:0 auto 1.1em; width:min(72%,228px); } }

/* Roberta games montage */
.games-figure{ margin:.5em 0 1.4em; }
.games-figure button{ display:block; width:100%; padding:0; cursor:pointer; background:rgba(0,0,0,.22);
  border:1px solid var(--panel-border); border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.45); transition:transform .2s ease; }
.games-figure button:hover{ transform:translateY(-2px); }
.games-figure img{ width:100%; height:auto; display:block; }
.games-figure figcaption{ text-align:center; font-family:'Cinzel',serif; font-size:clamp(11px,1.2vw,14px);
  letter-spacing:.08em; color:var(--gold); opacity:.8; margin-top:.5em; }

/* Our Team grid */
.team-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(116px,1fr)); gap:clamp(14px,2.2vw,26px); margin:1.4em 0 .4em; }
.team-cell{ display:flex; flex-direction:column; align-items:center; gap:.6em; background:none; border:none; padding:6px; text-align:center; cursor:pointer; }
.team-photo{ display:block; width:100%; aspect-ratio:1/1; border-radius:50%; overflow:hidden;
  border:2px solid rgba(217,178,94,.55); box-shadow:0 6px 16px rgba(0,0,0,.5);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.team-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.team-cell:hover .team-photo{ transform:scale(1.05); border-color:var(--gold-bright); box-shadow:0 8px 22px rgba(0,0,0,.6), 0 0 16px rgba(255,210,110,.35); }
.team-name{ font-family:'Cinzel',serif; font-weight:600; font-size:clamp(12px,1.3vw,15px); color:var(--gold-bright); line-height:1.25; letter-spacing:.02em; text-shadow:0 1px 2px rgba(0,0,0,.7); }

/* Shared modal scaffold */
.modal{ position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:4vw;
  background:rgba(2,4,12,.82); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
.modal.open{ display:flex; }
.modal-close{ position:absolute; top:14px; right:18px; width:42px; height:42px; border-radius:50%;
  border:1px solid var(--panel-border); background:rgba(20,12,4,.82); color:var(--gold-bright);
  font-size:24px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3; }
.modal-close:hover{ background:rgba(40,24,8,.95); color:#fff3cf; }

/* Bio card (weathered paper) */
.bio-card{ position:relative; width:min(560px,100%); max-height:86vh; overflow-y:auto;
  background:linear-gradient(180deg,#efe2bd,#e3d2a3); color:#2a2113; border:1px solid #b8964f; border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.7); padding:clamp(22px,4vw,40px); }
.bio-card .bio-photo{ display:block; width:clamp(120px,34%,168px); aspect-ratio:1/1; object-fit:cover;
  border-radius:12px; border:2px solid #b8964f; margin:0 auto 1em; box-shadow:0 6px 16px rgba(0,0,0,.35); }
.bio-card h3{ font-family:'Cinzel',serif; font-weight:800; font-size:clamp(20px,2.6vw,28px); color:#3a2a10; text-align:center; letter-spacing:.02em; margin-bottom:.7em; }
.bio-card p{ font-family:'IM Fell English',Georgia,serif; font-size:clamp(14px,1.5vw,17px); line-height:1.66; color:#3a3120; margin:0 0 .9em; }
.bio-card p:last-child{ margin-bottom:0; }
.bio-card a{ color:#7a5a14; text-decoration:underline; text-underline-offset:2px; }
.bio-card a:hover{ color:#5a420c; }
.bio-card .bio-specialties{ font-size:clamp(12px,1.3vw,14px); color:#544728; }

/* Documentary video + image lightbox */
.video-card{ position:relative; width:min(960px,100%); aspect-ratio:16/9; background:#000;
  border:1px solid var(--panel-border); border-radius:12px; overflow:hidden; box-shadow:0 24px 70px rgba(0,0,0,.7); }
.video-card #video-frame{ width:100%; height:100%; }
.video-card #video-frame iframe{ width:100%; height:100%; border:0; display:block; }
.img-card{ position:relative; max-width:96vw; max-height:90vh; }
.img-card img{ max-width:96vw; max-height:90vh; width:auto; height:auto; display:block;
  border-radius:10px; border:1px solid var(--panel-border); box-shadow:0 24px 70px rgba(0,0,0,.7); }


/* ============================================================
   NEWS LISTING + IMPORTED-POST BODY  (child-theme additions)
   ============================================================ */
.news-list{ display:flex; flex-direction:column; gap:1.7em; margin-top:1.3em; }
.news-item{ padding-bottom:1.7em; border-bottom:1px solid rgba(217,178,94,.22); }
.news-item:last-child{ border-bottom:none; padding-bottom:0; }
.news-thumb{ display:block; margin:0 0 .85em; border-radius:10px; overflow:hidden;
  border:1px solid var(--panel-border); box-shadow:0 8px 22px rgba(0,0,0,.45); }
.news-thumb img{ width:100%; height:auto; display:block; }
.news-title{ font-family:'Cinzel',serif; font-weight:700; font-size:clamp(19px,2.2vw,28px);
  color:var(--gold-bright); letter-spacing:.02em; margin:.1em 0 .25em; text-shadow:0 1px 2px rgba(0,0,0,.7); }
.news-title a{ color:inherit; text-decoration:none; }
.news-title a:hover{ color:#fff3cf; }
.news-meta{ font-family:'Cinzel',serif; font-size:clamp(11px,1.2vw,14px); letter-spacing:.08em;
  text-transform:uppercase; color:var(--gold); opacity:.85; margin:0 0 .55em; }
.news-excerpt{ color:#efe6cd; }
.news-excerpt p{ margin-bottom:.5em; }
.news-readmore{ font-family:'Cinzel',serif; font-weight:600; }

/* WordPress pagination (the_posts_pagination) */
.pagination .nav-links, .nav-links{ display:flex; flex-wrap:wrap; gap:.5em; justify-content:center; margin-top:2.2em; }
.nav-links a, .nav-links span{ font-family:'Cinzel',serif; font-size:clamp(13px,1.4vw,16px);
  padding:.4em .85em; border:1px solid var(--panel-border); border-radius:8px; color:var(--gold-bright);
  text-decoration:none; background:rgba(217,178,94,.06); }
.nav-links a:hover{ background:rgba(217,178,94,.18); color:#fff3cf; }
.nav-links .current{ background:rgba(217,178,94,.28); color:#fff3cf; }

/* imported post bodies: keep whatever the old editor produced inside the panel */
.post-body{ margin-top:.4em; }
.post-body img{ max-width:100%; height:auto; border-radius:8px; }
.post-body iframe, .post-body video, .post-body .elementor-section{ max-width:100%; }
.post-body figure{ margin:1em 0; }
.post-body figcaption{ font-size:clamp(12px,1.3vw,15px); color:var(--gold); opacity:.85; text-align:center; }
.news-back{ margin-top:2.4em; }
.news-back a{ font-family:'Cinzel',serif; font-weight:600; }

/* nudge the fixed menu below the WP admin bar (only logged-in admins see this) */
.admin-bar #menu{ top:32px; }
@media (max-width:782px){ .admin-bar #menu{ top:46px; } }
