/*
Theme Name: Navazio 40
Theme URI: https://40days.navazio.com/
Author: The Navazio Family
Description: Voyage journal theme for 40days.navazio.com. Seattle to Miami, forty days, one post per day. Fixed 40-day sidebar index with a live TODAY marker, oversized day-number heroes, and a day-to-day pager.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: navazio40
*/

/* ============================================================
   NAVAZIO 40 — shared design system
   Splashy ocean poster · white / cyan #1BA0E8 / navy #0A2A5E / coral #FF6B4A
   ============================================================ */

:root{
  --white:#FFFFFF;
  --blue:#1BA0E8;          /* vivid cyan-blue poster fields */
  --blue-deep:#0E7FC0;     /* pressed / hover blue */
  --blue-pale:#DCF1FC;     /* pale wash for soft bands */
  --navy:#0A2A5E;          /* text + rules */
  --coral:#FF6B4A;         /* CURRENT DAY ONLY */
  --coral-deep:#E8532F;

  --font-display:'Archivo Black', 'Karla', sans-serif;
  --font-body:'Karla', system-ui, sans-serif;

  --text-body:clamp(1.0625rem,1rem + .3vw,1.1875rem); /* 17–19px */
  --text-lead:clamp(1.25rem,1.1rem + .7vw,1.5rem);
  --text-h3:clamp(1.35rem,1.1rem + 1vw,1.75rem);
  --text-h2:clamp(1.9rem,1.4rem + 2.4vw,3.25rem);
  --text-h1:clamp(2.4rem,1.6rem + 4vw,4.5rem);
  --text-giant:clamp(6rem,26vw,24rem);   /* oversized day number */

  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2.25rem;
  --sp-5:3.5rem; --sp-6:5rem; --sp-7:7rem;

  --sidebar-w:300px;
  --measure:66ch;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --rule:3px solid var(--navy);
  --rule-thin:1px solid var(--navy);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--text-body);
  line-height:1.6;
  color:var(--navy);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-wrap:anywhere;
}
img,svg,video{max-width:100%;display:block;height:auto}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:400; /* Archivo Black is a single weight */
  line-height:1.05;
  letter-spacing:-0.01em;
  margin:0 0 var(--sp-3);
  text-transform:uppercase;
  color:var(--navy);
}
h1{font-size:var(--text-h1)}
h2{font-size:var(--text-h2)}
h3{font-size:var(--text-h3)}
h4{font-size:1.125rem;letter-spacing:0}
p{margin:0 0 var(--sp-2);max-width:var(--measure)}
a{color:var(--navy);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--blue-deep)}
strong{font-weight:800}
ul,ol{padding-left:1.25em;max-width:var(--measure)}
hr{border:0;border-top:var(--rule);margin:var(--sp-4) 0}
::selection{background:var(--blue);color:var(--white)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.on-blue :focus-visible,.day-hero :focus-visible{outline-color:var(--white)}

/* ============================================================
   APP SHELL — fixed sidebar + main canvas
   ============================================================ */
.shell{display:block}
@media (min-width:961px){
  .shell{padding-left:var(--sidebar-w)}
}

/* ---------- SIDEBAR (site header lives here) ---------- */
.sidebar{
  background:var(--white);
  border-right:var(--rule);
  display:flex;
  flex-direction:column;
}
@media (min-width:961px){
  .sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:var(--sidebar-w);
    height:100vh;
    height:100dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:60;
  }
}
.sidebar-brand{
  padding:var(--sp-3) var(--sp-3) var(--sp-2);
  border-bottom:var(--rule);
}
.brand{
  font-family:var(--font-display);
  font-size:1.6rem;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--navy);
  display:block;
}
.brand em{font-style:normal;color:var(--blue)}
.brand-sub{
  font-size:.875rem;
  font-weight:700;
  color:var(--navy);
  margin:.4rem 0 0;
}
.sidebar-pages{
  display:flex;
  flex-wrap:wrap;
  gap:.25rem .9rem;
  padding:var(--sp-2) var(--sp-3);
  border-bottom:var(--rule-thin);
}
.sidebar-pages a{
  font-weight:800;
  font-size:.9375rem;
  text-transform:uppercase;
  text-decoration:none;
  padding:.2rem 0;
}
.sidebar-pages a:hover{color:var(--blue)}
.sidebar-pages a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-decoration-thickness:3px}

/* mobile toggle */
.nav-toggle{
  display:none;
  font-family:var(--font-display);
  font-size:.9375rem;
  text-transform:uppercase;
  background:var(--blue);
  color:var(--white);
  border:0;
  padding:.7rem 1.1rem;
  cursor:pointer;
  transition:transform .1s var(--ease),background .2s var(--ease);
}
.nav-toggle:active{transform:scale(.97)}
@media (max-width:960px){
  .sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}
  .nav-toggle{display:inline-block}
  .sidebar-nav-region{display:none}
  .sidebar.is-open .sidebar-nav-region{display:block}
  /* no-JS fallback: nav visible when it can't be toggled */
  .no-js .sidebar-nav-region{display:block}
}

/* ---------- DAY INDEX (the 40-day ledger) ---------- */
.day-index{list-style:none;margin:0;padding:0;max-width:none}
.day-index li{margin:0}
.day-row{
  display:block;
  padding:.55rem var(--sp-3) .6rem;
  text-decoration:none;
  border-bottom:var(--rule-thin);
  color:var(--navy);
  transition:background .2s var(--ease);
}
.day-row:hover{background:var(--blue-pale);color:var(--navy)}
.day-row:active{background:var(--blue-pale);transform:scale(.99)}
.day-num{
  font-family:var(--font-display);
  font-size:.9375rem;
  text-transform:uppercase;
  display:block;
  line-height:1.2;
}
.day-meta{
  display:block;
  font-size:.875rem;
  font-weight:500;
  line-height:1.35;
}
/* active day = solid blue pill */
.day-row.is-active{
  background:var(--blue);
  color:var(--white);
  border-radius:999px;
  border-bottom-color:transparent;
  margin:.3rem .9rem;
  padding:.55rem 1.15rem .6rem;
}
.day-row.is-active .day-num,
.day-row.is-active .day-meta{color:var(--white)}
/* TODAY (real-time current day of voyage) = coral dot */
.day-row.is-today .day-num::after{
  content:"● TODAY";
  color:var(--coral);
  font-size:.75rem;
  margin-left:.5rem;
  letter-spacing:.02em;
}
.day-row.is-active.is-today .day-num::after{color:var(--white)}
/* a day with nothing written yet */
.day-row.is-empty .day-num{opacity:.55}
.day-row.is-empty .day-meta{opacity:.55}

/* phase divider bars — chunky blue, vertical name */
.phase-bar{
  display:flex;
  align-items:stretch;
  gap:var(--sp-2);
  background:var(--blue);
  color:var(--white);
  padding:1rem var(--sp-3);
  min-height:5.5rem;
  border-top:var(--rule);
  border-bottom:var(--rule);
}
.phase-bar .phase-name{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:1rem;
  line-height:1;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  letter-spacing:.05em;
}
.phase-bar .phase-dates{
  font-size:.875rem;
  font-weight:700;
  align-self:center;
  color:var(--white);
}
@media (max-width:960px){
  .phase-bar{min-height:0;padding:.75rem var(--sp-3)}
  .phase-bar .phase-name{writing-mode:horizontal-tb;transform:none}
}

/* ============================================================
   MAIN CANVAS
   ============================================================ */
.main{min-height:100vh}
.wrap{width:min(100% - 3rem, 62rem);margin-inline:auto}
.wrap-wide{width:min(100% - 3rem, 78rem);margin-inline:auto}
.wrap-narrow{width:min(100% - 3rem, 46rem);margin-inline:auto}
.section{padding-block:var(--sp-6)}
.section-tight{padding-block:var(--sp-4)}
.section-blue{background:var(--blue);color:var(--white)}
.section-pale{background:var(--blue-pale)}
.section-blue h1,.section-blue h2,.section-blue h3,
.section-blue p,.section-blue a{color:var(--white)}
.section-blue a{text-decoration-color:var(--white)}

/* ---------- DAY HERO: oversized number cropped off the top ---------- */
.day-hero{
  background:var(--blue);
  color:var(--white);
  overflow:hidden;           /* crops the giant number ONLY, never real text */
  position:relative;
  padding:0 0 var(--sp-4);
}
.day-hero-num{
  font-family:var(--font-display);
  font-size:var(--text-giant);
  line-height:.78;           /* pulls glyph tops past the edge deliberately */
  margin:-0.16em 0 0 -0.03em;
  color:var(--white);
  opacity:.92;
  user-select:none;
  white-space:nowrap;
  max-width:none;
}
.day-hero-num.is-current{color:var(--coral)}
.day-hero-body{padding-inline:clamp(1.5rem,5vw,4rem)}
.day-hero-title{
  font-size:var(--text-h1);
  color:var(--white);
  margin:.25em 0 var(--sp-2);
  max-width:16ch;
}
/* bold spec line: port · arrive · depart */
.spec-line{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 2rem;
  border-top:3px solid var(--white);
  border-bottom:3px solid var(--white);
  padding:var(--sp-2) 0;
  font-weight:800;
  font-size:clamp(1rem,.9rem + .6vw,1.25rem);
  text-transform:uppercase;
  color:var(--white);
  max-width:none;
  font-variant-numeric:tabular-nums;
}
.spec-line span{white-space:nowrap}
.spec-line .spec-label{font-weight:500;text-transform:none;display:block;font-size:.875rem}
/* spec line on white sections */
.spec-line.on-white{border-color:var(--navy);color:var(--navy)}
.spec-line.on-white .spec-label{color:var(--navy)}

/* current-day badge (coral, used once) */
.today-badge{
  display:inline-block;
  background:var(--coral);
  color:var(--white);
  font-family:var(--font-display);
  font-size:.9375rem;
  text-transform:uppercase;
  padding:.45rem 1rem;
  border-radius:999px;
  margin-bottom:var(--sp-2);
}

/* ---------- POSTER OPENERS (non-day pages) ---------- */
.poster{
  background:var(--blue);
  color:var(--white);
  padding:var(--sp-6) 0 var(--sp-5);
}
.poster h1{color:var(--white);max-width:14ch}
.poster .lead{color:var(--white)}
.display{font-size:var(--text-h1)}
.lead{
  font-size:var(--text-lead);
  font-weight:500;
  line-height:1.45;
  max-width:44ch;
}
.kicker{
  font-family:var(--font-display);
  font-size:1rem;
  text-transform:uppercase;
  color:var(--blue);
  display:block;
  margin-bottom:var(--sp-2);
}
.section-blue .kicker,.poster .kicker{color:var(--white)}

/* ============================================================
   IMAGERY — photo-first vocabulary
   ============================================================ */
.media{width:100%;overflow:hidden;background:var(--blue-pale)}
.media img{width:100%;height:100%;object-fit:cover}
.media-16x9{aspect-ratio:16/9}
.media-4x3{aspect-ratio:4/3}
.media-3x4{aspect-ratio:3/4}
.media-1x1{aspect-ratio:1/1}
.media-21x9{aspect-ratio:21/9}
/* full-bleed photo block inside main canvas */
.bleed{width:100%;margin:0}
.hero-media{width:100%;aspect-ratio:21/9;overflow:hidden;background:var(--blue-pale)}
.hero-media img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.hero-media{aspect-ratio:4/3}}
/* photo with legibility overlay for text-on-photo moments */
.overlay{position:relative}
.overlay::after{
  content:"";
  position:absolute;inset:0;
  background:rgba(10,42,94,.45); /* flat navy scrim, no gradient */
  z-index:0;
}
.overlay .overlay-text{
  position:absolute;inset:auto 0 0 0;
  z-index:1;
  color:var(--white);
  padding:clamp(1.25rem,4vw,2.5rem);
}
.overlay .overlay-text h1,.overlay .overlay-text h2,.overlay .overlay-text h3,.overlay .overlay-text p{color:var(--white)}
/* figure + caption rhythm — the journal's heartbeat */
.figure{margin:0 0 var(--sp-5)}
.figure figcaption{
  padding:var(--sp-2) clamp(1.5rem,5vw,4rem) 0;
  font-size:1rem;
  font-weight:500;
  max-width:var(--measure);
}
.figure-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-2);
}
@media (max-width:640px){.figure-pair{grid-template-columns:1fr}}

/* ---------- journal entry text ---------- */
.entry{
  padding:var(--sp-4) clamp(1.5rem,5vw,4rem);
}
.entry p{max-width:var(--measure)}
.entry img{margin-block:var(--sp-3)}
.entry figure{margin:var(--sp-4) 0}
.entry figcaption{font-size:1rem;font-weight:500;margin-top:var(--sp-1);max-width:var(--measure)}
.entry-byline{
  font-weight:800;
  text-transform:uppercase;
  font-size:.9375rem;
  color:var(--blue-deep);
  margin-bottom:var(--sp-1);
}
.entry-empty{
  border:var(--rule);
  padding:var(--sp-3) var(--sp-3);
  font-weight:700;
  max-width:var(--measure);
  background:var(--blue-pale);
}

/* day-to-day pager */
.day-pager{
  display:flex;
  justify-content:space-between;
  gap:var(--sp-2);
  border-top:var(--rule);
  padding:var(--sp-3) clamp(1.5rem,5vw,4rem) var(--sp-5);
}
.day-pager a{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:1.05rem;
  text-decoration:none;
  padding:.5rem 0;
}
.day-pager a:hover{color:var(--blue)}
.day-pager a:active{transform:scale(.97)}
.day-pager .pager-sub{display:block;font-family:var(--font-body);font-weight:500;font-size:.9375rem;text-transform:none}
.day-pager .pager-next{text-align:right}

/* ============================================================
   COMPONENTS
   ============================================================ */
/* buttons — flat, chunky, honest */
.btn{
  display:inline-block;
  font-family:var(--font-display);
  font-size:1rem;
  text-transform:uppercase;
  text-decoration:none;
  padding:.9rem 1.6rem;
  border:3px solid var(--navy);
  color:var(--navy);
  background:var(--white);
  cursor:pointer;
  transition:transform .1s var(--ease),background .2s var(--ease),color .2s var(--ease);
}
.btn:hover{background:var(--blue-pale);color:var(--navy)}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--blue);border-color:var(--blue);color:var(--white)}
.btn-primary:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:var(--white)}
.btn-coral{background:var(--coral);border-color:var(--coral);color:var(--white)}
.btn-coral:hover{background:var(--coral-deep);border-color:var(--coral-deep);color:var(--white)}
.section-blue .btn,.poster .btn,.cta-band .btn{border-color:var(--white);color:var(--white);background:transparent}
.section-blue .btn:hover,.poster .btn:hover,.cta-band .btn:hover{background:var(--white);color:var(--navy)}
.cta-band .btn-coral{background:var(--coral);border-color:var(--coral);color:var(--white)}
.cta-band .btn-coral:hover{background:var(--coral-deep);border-color:var(--coral-deep);color:var(--white)}

/* grids */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* panel — flat colour block, generous padding, no shadow */
.panel{background:var(--blue-pale);padding:var(--sp-4);}
.panel-blue{background:var(--blue);color:var(--white)}
.panel-blue h2,.panel-blue h3,.panel-blue p,.panel-blue a{color:var(--white)}
.panel-outline{background:var(--white);border:var(--rule);padding:var(--sp-4)}

/* stat row — big plain numbers */
.stat-row{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-4) var(--sp-6);
  border-top:var(--rule);
  border-bottom:var(--rule);
  padding:var(--sp-4) 0;
  margin-bottom:var(--sp-4);
}
.stat .stat-n{
  font-family:var(--font-display);
  font-size:clamp(2.5rem,2rem + 3vw,4.5rem);
  line-height:1;
  display:block;
  color:var(--blue);
  font-variant-numeric:tabular-nums;
}
.section-blue .stat .stat-n{color:var(--white)}
.stat .stat-l{font-weight:700;font-size:1rem;display:block;margin-top:.35rem}

/* schedule / itinerary table */
.table-wrap{overflow-x:auto}
.sched{
  width:100%;
  border-collapse:collapse;
  font-size:1rem;
  min-width:560px;
  font-variant-numeric:tabular-nums;
}
.sched th{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:.9375rem;
  text-align:left;
  padding:.85rem 1rem;
  background:var(--navy);
  color:var(--white);
}
.sched td{
  padding:.85rem 1rem;
  border-bottom:var(--rule-thin);
  vertical-align:top;
}
.sched tr:hover td{background:var(--blue-pale)}
.sched td a{font-weight:800;text-decoration-thickness:2px}
.sched .row-today td{background:var(--coral);color:var(--white)}
.sched .row-today td a{color:var(--white);text-decoration-color:var(--white)}
.sched .row-phase td{
  background:var(--blue);
  color:var(--white);
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:1rem;
}
.sched .row-phase:hover td{background:var(--blue)}

/* feature/list rows — one idea per row, crisp rules */
.list-rows{border-top:var(--rule)}
.list-row{
  display:grid;
  grid-template-columns:minmax(6rem,10rem) 1fr;
  gap:var(--sp-3);
  padding:var(--sp-3) 0;
  border-bottom:var(--rule-thin);
}
.list-row .row-key{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:1.05rem;
  color:var(--blue);
}
.section-blue .list-row .row-key{color:var(--white)}
@media (max-width:560px){.list-row{grid-template-columns:1fr;gap:var(--sp-1)}}

/* quote / journal excerpt */
.quote{
  border-left:8px solid var(--blue);
  padding:var(--sp-2) var(--sp-3);
  margin:var(--sp-4) 0;
  max-width:var(--measure);
}
.quote p{font-size:var(--text-lead);font-weight:700;line-height:1.35;margin:0}
.quote cite{display:block;font-style:normal;font-weight:500;margin-top:var(--sp-1)}

/* FAQ */
.faq{border-top:var(--rule)}
.faq details{border-bottom:var(--rule-thin)}
.faq summary{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:1.05rem;
  padding:var(--sp-2) var(--sp-2) var(--sp-2) 0;
  cursor:pointer;
  list-style:none;
  position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;color:var(--blue);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .faq-body{padding:0 0 var(--sp-3)}

/* CTA band — left-aligned, flat */
.cta-band{background:var(--blue);color:var(--white);padding:var(--sp-5) 0}
.cta-band h2,.cta-band p{color:var(--white)}
.cta-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}

/* forms */
.form{max-width:38rem}
.field{margin-bottom:var(--sp-3)}
.field label{
  display:block;
  font-weight:800;
  text-transform:uppercase;
  font-size:.9375rem;
  margin-bottom:.4rem;
}
.field input,.field textarea,.field select{
  width:100%;
  font:inherit;
  color:var(--navy);
  background:var(--white);
  border:3px solid var(--navy);
  padding:.8rem 1rem;
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:3px solid var(--blue);outline-offset:2px;
}
.field .hint{font-size:.9375rem;font-weight:500;margin-top:.35rem}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{
  background:var(--navy);
  color:var(--white);
  padding:var(--sp-5) 0 var(--sp-4);
  margin-top:var(--sp-6);
}
.footer a{color:var(--white)}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:var(--sp-4);
}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}
.footer-brand{
  font-family:var(--font-display);
  font-size:1.5rem;
  text-transform:uppercase;
  line-height:1.1;
  margin-bottom:var(--sp-2);
}
.footer-brand em{font-style:normal;color:var(--blue)}
.footer h4{color:var(--white);font-size:1rem;margin-bottom:var(--sp-2)}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin-bottom:.5rem}
.footer p{color:var(--white)}
.footer-fine{
  border-top:1px solid rgba(255,255,255,.35);
  margin-top:var(--sp-4);
  padding-top:var(--sp-3);
  font-size:.9375rem;
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2) var(--sp-4);
  justify-content:space-between;
}

/* ============================================================
   MOTION & UTILITIES
   ============================================================ */
.reveal{animation:rise .7s var(--ease) both}
@keyframes rise{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .reveal{animation:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-transparency:reduce){
  .overlay::after{background:rgba(10,42,94,.6)}
}
.visually-hidden{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;
}
.text-blue{color:var(--blue)}
.text-coral{color:var(--coral)}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.flow > * + *{margin-top:var(--sp-3)}
.skip-link{
  position:absolute;left:1rem;top:-4rem;z-index:100;
  background:var(--navy);color:var(--white);
  padding:.75rem 1.25rem;font-weight:800;text-decoration:none;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:1rem;color:var(--white)}

/* ---------- safety layer: nothing overflows, nothing stays invisible ---------- */
*,*::before,*::after{min-width:0}
:where(h1,h2,h3,h4){overflow-wrap:break-word;max-width:100%}

/* ---------- WordPress core block/alignment classes ---------- */
.alignleft{float:left;margin:0 var(--sp-3) var(--sp-2) 0}
.alignright{float:right;margin:0 0 var(--sp-2) var(--sp-3)}
.aligncenter{margin-inline:auto}
.alignwide,.alignfull{max-width:none;width:100%}
.wp-caption{max-width:100%}
.wp-caption-text,.blocks-gallery-caption{font-size:1rem;font-weight:500}
.wp-block-image{margin:var(--sp-4) 0}
.wp-block-gallery{margin:var(--sp-4) 0}
.wp-block-quote{border-left:8px solid var(--blue);padding:var(--sp-2) var(--sp-3);margin:var(--sp-4) 0}
.wp-block-quote p{font-size:var(--text-lead);font-weight:700;line-height:1.35}
.sticky,.gallery-caption,.bypostauthor{}
.screen-reader-text{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;
}

/* ---------- admin bar offset for the fixed sidebar ---------- */
@media (min-width:961px){
  body.admin-bar .sidebar{top:32px;height:calc(100vh - 32px);height:calc(100dvh - 32px)}
}
@media (max-width:782px){
  body.admin-bar .sidebar{top:0}
}
