/*! RP Theme — WordPress content classes
    A static page never needs these: the skip link, caption and gallery markup
    the editor emits, alignment classes, and the editor blocks that must follow the
    design system — buttons, details (the accordion block), paged-content links.
    Hand-authored (not generated), so this file is safe to edit. */

/* ---------- accessibility furniture ---------------------------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100}
.skip-link:focus{left:0;width:auto;height:auto;clip:auto;
  background:var(--red);color:var(--white);padding:14px 22px;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:15px;font-weight:600;text-decoration:none}

/* ---------- editor alignment ------------------------------------ */
.alignleft{float:left;margin:6px 28px 18px 0}
.alignright{float:right;margin:6px 0 18px 28px}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignwide{width:min(100%,1100px);margin-left:auto;margin-right:auto}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.rp-prose .alignfull img,.rp-prose .alignwide img{width:100%}

/* ---------- captions and galleries ------------------------------ */
.wp-caption{max-width:100%}
.wp-caption img{display:block}
.wp-caption-text,.wp-element-caption{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--muted)}
.wp-block-gallery,.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0;list-style:none;padding:0}
.gallery-item{margin:0}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- editor blocks that need to respect the system -------- */
.wp-block-button__link{display:inline-flex;align-items:center;gap:13px;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:16px;font-weight:600;padding:16px 28px;border-radius:0;
  background:var(--red);color:var(--white);transition:background-color .18s ease;-webkit-tap-highlight-color:transparent}
.wp-block-button__link:active{background:var(--red-dark)}
@media(hover:hover){.wp-block-button__link:hover{background:var(--red-dark)}}
.wp-block-separator{border:none;border-top:1px solid var(--line-soft);margin:44px 0}
.wp-block-pullquote,.wp-block-quote{border-left:3px solid var(--red);padding-left:26px;margin-left:0}

/* ---------- details: the editor's accordion --------------------- */
/* The whole summary row is the target — at least 52px tall — with a red chevron
   that turns as the panel opens. Native <details>: no script, keyboard and screen
   reader behaviour for free. */
.wp-block-details{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin:26px 0}
.wp-block-details+.wp-block-details{margin-top:-27px}
.wp-block-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;
  padding:12px 0;cursor:pointer;list-style:none;font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  font-weight:600;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.wp-block-details>summary::-webkit-details-marker{display:none}
.wp-block-details>summary::after{content:"";flex:none;width:9px;height:9px;margin-right:4px;
  border-right:1.6px solid var(--red);border-bottom:1.6px solid var(--red);transform:translateY(-3px) rotate(45deg);
  transition:transform .24s cubic-bezier(.22,.61,.36,1)}
.wp-block-details[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.wp-block-details>summary:active{color:var(--body)}
.wp-block-details>:not(summary){margin-bottom:18px}

/* ---------- paged content --------------------------------------- */
.post-nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:40px;
  font-family:"Instrument Sans",-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px}
.post-nav-links>a,.post-nav-links>span{display:flex;align-items:center;justify-content:center;
  min-width:44px;height:44px;border:1px solid var(--line);font-weight:600;color:var(--ink)}
.post-nav-links>a{-webkit-tap-highlight-color:transparent}
.post-nav-links>a:active{background:var(--red);border-color:var(--red);color:var(--white)}
@media(hover:hover){.post-nav-links>a:hover{background:var(--red);border-color:var(--red);color:var(--white)}}

/* ---------- comments, should they ever be enabled ---------------- */
.rp-comments{margin-top:64px;padding-top:44px;border-top:1px solid var(--line-soft)}
.rp-comments h2{font-size:var(--f-h3);margin-bottom:24px}
.rp-comments ol{list-style:none;padding:0;display:grid;gap:24px}
.rp-comments .comment-body{border:1px solid var(--line-soft);padding:22px 24px}

@media(max-width:900px){
  .wp-block-gallery,.gallery{grid-template-columns:repeat(2,1fr)}
  .alignleft,.alignright{float:none;margin:18px 0}
}
@media(max-width:640px){
  .wp-block-gallery,.gallery{grid-template-columns:1fr}
  /* The header sticks to the very top of a phone screen. WordPress's toolbar (signed-in
     users only) stops following the page at 600px; from 640px it does the same here, so
     between the two it scrolls away instead of covering the header. */
  html #wpadminbar{position:absolute}
}
