/* =====================================================================
   WordPress build of fc-v2.css (generated from assets/fc-v2.css by LTC LMS).
   Selectors are repeated so the Rule page controls keep their own look even
   when the theme styles every <button> boldly. Edit fc-v2.css, not this file.
   ===================================================================== */
.fc-v2.fc-v2.fc-v2.fc-v2 button, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox button {
  background: none; border: 0; box-shadow: none; border-radius: 0; text-transform: none; letter-spacing: normal;
  min-height: 0; min-width: 0; width: auto; height: auto; margin: 0; padding: 0; font: inherit; color: inherit;
  text-decoration: none; text-shadow: none; line-height: inherit; opacity: 1; filter: none; transform: none;
}
/* Theme hover/focus colours only — sizes stay put so buttons don't shift under the pointer. */
.fc-v2.fc-v2.fc-v2.fc-v2 button:hover, .fc-v2.fc-v2.fc-v2.fc-v2 button:focus, .fc-v2.fc-v2.fc-v2.fc-v2 button:active, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox button:hover { background-color: transparent; box-shadow: none; text-decoration: none; }
.fc-v2.fc-v2.fc-v2.fc-v2 ul, .fc-v2.fc-v2.fc-v2.fc-v2 li, .fc-v2.fc-v2.fc-v2.fc-v2 p, .fc-v2.fc-v2.fc-v2.fc-v2 figure { margin-left: 0; margin-right: 0; }
.fc-v2.fc-v2.fc-v2.fc-v2 img { max-width: 100%; height: auto; border-radius: 0; box-shadow: none; }
/* =====================================================================
   Flying Colours Maritime – Colregs page components (fc-v2)
   Scope: everything sits under .fc-v2.fc-v2.fc-v2.fc-v2, so existing fc-* pages are untouched.
   Layout: single reading column; rule text set like the official MSN text,
   explanations fold beneath it, light/shape viewers sit between paragraphs.
   ===================================================================== */
.fc-v2.fc-v2.fc-v2.fc-v2 {
  --fc-ink: #13263d;          /* navy: headings, rule text            */
  --fc-text: #2b3a4a;         /* body copy                            */
  --fc-muted: #5f6f80;        /* captions, secondary                  */
  --fc-paper: #ffffff;        /* rule box ground                      */
  --fc-wash: #f2f5f8;         /* explanation ground (cool, blue-biased) */
  --fc-line: #d6dee7;         /* hairlines                            */
  --fc-accent: #0e6a8a;       /* links, active controls               */
  --fc-port: #c4352c;         /* port side – red                      */
  --fc-stbd: #1d8048;         /* starboard side – green               */
  --fc-night: #0b1622;        /* viewer ground                        */
  --fc-night-2: #16273a;
  --fc-key: #fff6e0;          /* key point callout                    */
  --fc-key-line: #e3b44f;
  /* fonts: everything inherits the site font (Montserrat on the LMS) */
  --fc-radius: 10px;

  color: var(--fc-text);
  font-size: 1rem;
  line-height: 1.6;
  max-width: 52rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}
.fc-v2.fc-v2.fc-v2.fc-v2 * { box-sizing: border-box; }

/* ---------- page header ---------- */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-head { display: flex; flex-direction: column; gap: .5rem; padding-bottom: 1.25rem; border-bottom: 2px solid var(--fc-ink); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-kicker { margin: 0; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--fc-muted); font-weight: 600; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-title { margin: 0; font-family: inherit; font-weight: 600; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem); line-height: 1.2; color: var(--fc-ink); text-wrap: balance; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-title-rule { display: block; font-family: inherit; font-size: .45em; letter-spacing: .06em; color: var(--fc-accent); margin-bottom: .35rem; text-transform: uppercase; }

/* toolbar built by fc-v2.js */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.25rem; margin-top: .5rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-jump { display: flex; flex-wrap: wrap; gap: .4rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-jump a {
  display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem;
  padding: 0 .6rem; border: 1px solid var(--fc-line); border-radius: 999px; background: var(--fc-paper);
  font-family: inherit; font-size: .85rem; font-weight: 600; color: var(--fc-ink); text-decoration: none; font-variant-numeric: tabular-nums;
}
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-jump a:hover { border-color: var(--fc-accent); color: var(--fc-accent); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-switch {
  display: inline-flex; align-items: center; gap: .6rem; min-height: 2.75rem; padding: 0 .25rem;
  background: none; border: 0; font: inherit; font-size: .9rem; color: var(--fc-ink); cursor: pointer;
}
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-switch-track { position: relative; width: 2.6rem; height: 1.5rem; border-radius: 999px; background: var(--fc-line); transition: background .2s; flex: none; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-switch-track::after { content: ""; position: absolute; top: .2rem; left: .2rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .2s; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-switch[aria-checked="true"] .fc-switch-track { background: var(--fc-accent); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-switch[aria-checked="true"] .fc-switch-track::after { transform: translateX(1.1rem); }

/* ---------- one rule paragraph ---------- */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-para { display: flex; flex-direction: column; scroll-margin-top: 5rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-rule-box {
  background: var(--fc-paper); border: 1px solid var(--fc-line); border-left: 4px solid var(--fc-ink);
  border-radius: var(--fc-radius); padding: 1rem 1.15rem; display: flex; flex-direction: column; gap: .6rem;
}
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-rule-text, .fc-v2.fc-v2.fc-v2.fc-v2 .fc-rule-sub { margin: 0; font-family: inherit; font-weight: 500; font-size: 1.08rem; line-height: 1.55; color: var(--fc-ink); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-rule-sub { padding-left: 1.4rem; text-indent: -1.4rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-ref {
  display: inline-block; margin-right: .35rem; padding: .05rem .5rem; border-radius: 6px; background: var(--fc-ink); color: #fff;
  font-family: inherit; font-size: .76rem; font-weight: 700; letter-spacing: .02em; vertical-align: .12em; text-indent: 0;
}
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-sub { font-family: inherit; font-weight: 700; font-size: .9rem; color: var(--fc-accent); margin-right: .25rem; }

/* explain toggle button built by JS */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-explain-btn {
  align-self: flex-start; display: inline-flex; align-items: center; gap: .45rem; min-height: 2.75rem; margin-top: .25rem; padding: 0 .9rem 0 .7rem;
  border: 0; border-radius: 999px; background: transparent; color: var(--fc-accent); font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer;
}
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-explain-btn:hover { background: var(--fc-wash); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-explain-btn svg { width: 1rem; height: 1rem; transition: transform .2s; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-explain-btn[aria-expanded="true"] svg { transform: rotate(90deg); }

/* explanation */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-explain { margin-top: .5rem; background: var(--fc-wash); border-radius: var(--fc-radius); padding: 1rem 1.15rem; display: flex; flex-direction: column; gap: 1rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-explanation { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .9rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-explanation li { display: flex; flex-direction: column; gap: .2rem; padding-left: .9rem; border-left: 2px solid var(--fc-line); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-phrase { font-family: inherit; font-weight: 600; color: var(--fc-ink); font-size: 1rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-meaning { color: var(--fc-text); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-summary { background: var(--fc-key); border: 1px solid var(--fc-key-line); border-radius: 8px; padding: .75rem .95rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-summary::before { content: "Key point"; display: block; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; color: #8a5a00; margin-bottom: .2rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-summary p { margin: 0; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-summary strong { color: var(--fc-ink); }

/* draft content flag (remove the class once wording is approved) */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-draft .fc-rule-box { border-left-color: var(--fc-key-line); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-draft .fc-rule-box::before { content: "Draft explanation – check before publishing"; align-self: flex-start; font-size: .72rem; font-weight: 700; letter-spacing: .04em; color: #8a5a00; background: var(--fc-key); border-radius: 4px; padding: .1rem .45rem; }

/* collapsed state (only once JS has run) */
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-para.fc-closed .fc-explain { display: none; }

/* ---------- reference gallery (pictures that sit under a definition) ---------- */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery { display: grid; gap: .75rem; margin-top: .9rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery.fc-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery.fc-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-shot { margin: 0; display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-shot img, .fc-v2.fc-v2.fc-v2.fc-v2 .fc-shot .fc-missing { width: 100%; height: auto; display: block; border-radius: 8px; border: 1px solid var(--fc-line); cursor: zoom-in; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-shot figcaption { display: block; padding: 0; text-align: center; font-size: .85rem; color: var(--fc-muted); }

/* ---------- light & shape viewer ---------- */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-viewer-block { display: flex; flex-direction: column; gap: .6rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-viewer-title { margin: 0; font-size: 1rem; font-weight: 600; color: var(--fc-ink); text-wrap: balance; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-viewer { background: var(--fc-night); border-radius: 14px; overflow: hidden; color: #e6edf5; }

/* without JS: plain stacked figures */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-view { margin: 0; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-frames { display: grid; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-frames img { width: 100%; height: auto; display: block; }
.fc-v2.fc-v2.fc-v2.fc-v2:not(.fc-js) .fc-frames { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 2px; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption { display: block; padding: .7rem 1rem; font-size: .9rem; line-height: 1.5; color: #b8c6d6; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption .fc-cap-title { display: block; color: #fff; font-weight: 600; margin-bottom: .15rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption .fc-cap-line { display: block; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption .fc-cap-also { display: block; margin-top: .6rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption .fc-cap-label { display: block; color: #fff; font-weight: 600; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption .fc-cap-also ul { margin: .2rem 0 0; padding-left: 1.2rem; list-style: disc; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption .fc-cap-also li { display: list-item; margin: .1rem 0; }
.fc-v2.fc-v2.fc-v2.fc-v2 figcaption .fc-cap-note { display: block; margin-top: .6rem; font-style: italic; color: #93a7bb; }

/* with JS: one view at a time */
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-view { display: none; }
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-view.fc-active { display: block; }
/* fixed-shape frame: the box is sized before any image arrives, so switching aspect never jumps.
   --fc-ratio is set by fc-v2.js from the first image that loads (16:9 until then). */
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-frames { position: relative; display: block; width: 100%; aspect-ratio: var(--fc-ratio, 16 / 9); max-height: 70vh; cursor: zoom-in; touch-action: pan-y; background: var(--fc-night-2); }
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-frames > img, .fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-frames > .fc-missing { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; aspect-ratio: auto; transition: opacity .35s ease; }
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-frames > .fc-night { opacity: 0; }
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js[data-time="night"] .fc-frames.fc-has-night > .fc-night { opacity: 1; }
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js[data-time="night"] .fc-frames.fc-has-night > .fc-day { opacity: 0; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-frames .fc-tag {
  position: absolute; z-index: 2; left: .6rem; top: .6rem; padding: .15rem .55rem; border-radius: 999px; background: rgba(11,22,34,.72);
  font-size: .75rem; letter-spacing: .04em; color: #fff; pointer-events: none;
}

/* controls row */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-controls { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem 1rem; padding: .8rem 1rem; border-top: 1px solid rgba(255,255,255,.08); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-controls figcaption { padding: 0; min-width: 0; }
.fc-v2.fc-v2.fc-v2.fc-v2.fc-js .fc-view figcaption { display: none; }

/* aspect picker: vessel seen from above, tap the side you are looking from */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass { position: relative; width: 7.5rem; height: 7.5rem; flex: none; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass svg.fc-hull { position: absolute; inset: 1.9rem 2.5rem; width: 2.5rem; height: 3.7rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button {
  position: absolute; width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 2px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.06); color: #dce6f0; font-family: inherit; font-size: .66rem; font-weight: 700; line-height: 1; letter-spacing: .02em; cursor: pointer; padding: 0;
  transition: background .15s, border-color .15s, color .15s;
}
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="bow"]   { top: 0; left: 50%; transform: translateX(-50%); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="stern"] { bottom: 0; left: 50%; transform: translateX(-50%); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="port"]  { left: 0; top: 50%; transform: translateY(-50%); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="stb"]   { right: 0; top: 50%; transform: translateY(-50%); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="port"].fc-on { background: var(--fc-port); border-color: var(--fc-port); color: #fff; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="stb"].fc-on  { background: var(--fc-stbd); border-color: var(--fc-stbd); color: #fff; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="bow"].fc-on,
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button[data-a="stern"].fc-on { background: #f4f7fa; border-color: #f4f7fa; color: var(--fc-night); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-compass button:disabled { opacity: .25; cursor: default; }

/* day / night */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-daynight { display: inline-flex; padding: 3px; border-radius: 999px; background: rgba(255,255,255,.08); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-daynight button {
  display: inline-flex; align-items: center; gap: .35rem; min-height: 2.75rem; padding: 0 .9rem; border: 0; border-radius: 999px;
  background: transparent; color: #b8c6d6; font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer;
}
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-daynight button svg { width: 1.05rem; height: 1.05rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-daynight button[aria-pressed="true"] { background: #f4f7fa; color: var(--fc-night); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-daynight-only { font-size: .8rem; color: #8ea2b6; }

.fc-v2.fc-v2.fc-v2.fc-v2 button:focus-visible, .fc-v2.fc-v2.fc-v2.fc-v2 a:focus-visible { outline: 3px solid #6cc3e0; outline-offset: 2px; }

/* missing image placeholder (also flags broken links in Moodle) */
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-missing, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox .fc-missing { aspect-ratio: 16 / 9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; padding: 1rem; text-align: center; font-size: .8rem; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-missing.fc-day, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox .fc-missing.fc-day { background: linear-gradient(#9cc2de, #dbe8f1 60%, #5f7f99 60%, #40607a); color: #13263d; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-missing.fc-night, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox .fc-missing.fc-night { background: linear-gradient(#050b12, #0f2033 60%, #08121d 60%); color: #c8d6e4; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-missing code, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox .fc-missing code { font-family: inherit; font-size: .75rem; word-break: break-all; background: rgba(255,255,255,.35); padding: .1rem .35rem; border-radius: 4px; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-missing.fc-night code, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox .fc-missing.fc-night code { background: rgba(255,255,255,.1); }

/* lightbox */
.fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); background: rgba(5,11,18,.94); }
.fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox img, .fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox .fc-missing { max-width: 100%; max-height: 100%; width: auto; border-radius: 8px; }
.fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox .fc-missing { width: min(90vw, 60rem); }
.fc-lightbox.fc-lightbox.fc-lightbox.fc-lightbox button { position: absolute; top: max(.75rem, env(safe-area-inset-top)); right: max(.75rem, env(safe-area-inset-right)); width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 0; background: #f4f7fa; color: #0b1622; font-size: 1.4rem; line-height: 1; cursor: pointer; }

/* ---------- small screens ---------- */
@media (max-width: 40rem) {
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery.fc-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery.fc-cols-3 > :first-child { grid-column: 1 / -1; }
  .fc-v2.fc-v2.fc-v2.fc-v2 { gap: 1.4rem; }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-rule-box, .fc-v2.fc-v2.fc-v2.fc-v2 .fc-explain { padding: .85rem .9rem; }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-rule-text, .fc-v2.fc-v2.fc-v2.fc-v2 .fc-rule-sub { font-size: 1.05rem; }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-viewer { border-radius: 10px; margin-inline: -.25rem; }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-controls { grid-template-columns: auto minmax(0, 1fr); }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-daynight button { padding: 0 .6rem; gap: .25rem; }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-controls figcaption { grid-column: 1 / -1; grid-row: 2; }
  .fc-v2.fc-v2.fc-v2.fc-v2 .fc-controls .fc-daynight, .fc-v2.fc-v2.fc-v2.fc-v2 .fc-controls .fc-daynight-only { justify-self: end; }
}
@media (prefers-reduced-motion: reduce) {
  .fc-v2.fc-v2.fc-v2.fc-v2 *, .fc-v2.fc-v2.fc-v2.fc-v2 *::after { transition: none !important; }
}

/* ---------- picture sizes ----------
   A picture is never stretched past its real size (that's what makes it blurry).
   Single pictures and the light viewer are centred and capped; click to zoom still shows full size.
   Change the caps with --fc-pic-max / --fc-viewer-max. */
.fc-v2.fc-v2.fc-v2.fc-v2.fc-v2.fc-v2.fc-v2 { --fc-pic-max: 800px; --fc-viewer-max: 800px; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery.fc-cols-1 { justify-items: center; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery.fc-cols-1 .fc-shot { width: fit-content; max-width: min(100%, var(--fc-pic-max)); }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery.fc-cols-1 .fc-shot img { width: auto; max-width: 100%; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-gallery .fc-shot img { max-width: 100%; }
.fc-v2.fc-v2.fc-v2.fc-v2 .fc-viewer-block { width: 100%; max-width: var(--fc-viewer-max); margin-inline: auto; }
