/* ============================================================================
   PM Press shared chrome — mirrors pmpress.unifycart.com (resources/themes/pmpress).
   Scoped under body.pm (WordPress adds the `pm` body class via functions.php §2c).
   ========================================================================== */
:root{
  --ink:#161412; --paper:#f3ece0; --paper-2:#e9dfce;
  --red:#c0231f; --red-deep:#8f1815; --gold:#d99323; --ink-soft:#3d3833;
  --line:#cdbfa8; --green:#2f5d3f; --maxw:1240px;
  --font-display:'Archivo', sans-serif;
  --font-read:'Spectral', Georgia, serif;
  --font-narrow:'Archivo Narrow', sans-serif;
  --font-size-base:17px;
}
body.pm{background:var(--paper);color:var(--ink);font-family:var(--font-read);font-size:var(--font-size-base);line-height:1.6;-webkit-font-smoothing:antialiased;margin:0}
body.pm a{color:inherit;text-decoration:none}
body.pm img{display:block;max-width:100%}
.pm-wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
body.pm h1,body.pm h2,body.pm h3,body.pm h4,body.pm h5,body.pm h6{font-family:var(--font-display);margin:0}
.pm-narrow{font-family:var(--font-narrow)}

/* Buttons */
.pm .btn{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em;padding:15px 28px;border-radius:1px;transition:transform .12s,background .15s,color .15s;cursor:pointer;border:none;text-align:center}
.pm .btn:hover{transform:translateY(-2px)}
.pm .btn-red{background:var(--red);color:#fff}.pm .btn-red:hover{background:var(--red-deep);color:#fff}
.pm .btn-ink{background:var(--ink);color:#fff}.pm .btn-ink:hover{background:#000;color:#fff}
.pm .btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.pm .btn-outline:hover{background:var(--ink);color:#fff}
.pm .btn-sm{padding:9px 16px;font-size:11.5px}

/* Top utility bar */
.pm .topbar{background:var(--ink);color:var(--paper);font-family:var(--font-narrow);font-size:13px;letter-spacing:.04em}
.pm .topbar .pm-wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.pm .topbar a{opacity:.82;transition:opacity .15s}.pm .topbar a:hover{opacity:1}
.pm .topbar .ticker{display:flex;gap:22px;align-items:center}
.pm .topbar .ticker .dot{color:var(--red);font-size:9px}
.pm .topbar .util{display:flex;gap:20px;align-items:center;text-transform:uppercase;font-weight:600}
@media(max-width:760px){.pm .topbar .ticker span:not(:first-child){display:none}}

/* Masthead */
.pm .masthead{border-bottom:3px solid var(--ink);background:var(--paper)}
.pm .masthead .pm-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px}
.pm .brand{display:flex;justify-content:center}
.pm .brand img{height:92px;width:auto}
.pm .brand .wordmark{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:30px;letter-spacing:-.01em;color:var(--ink)}
.pm .m-search{position:relative;max-width:340px}
.pm .m-search input{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--ink);padding:9px 30px 9px 4px;font-family:var(--font-narrow);font-size:15px;letter-spacing:.02em;color:var(--ink)}
.pm .m-search input::placeholder{color:var(--ink-soft);opacity:.7}
.pm .m-search input:focus{outline:none;border-color:var(--red)}
.pm .m-search .ico{position:absolute;right:2px;top:8px;color:var(--ink);background:none;border:none;cursor:pointer}
.pm .acts{display:flex;justify-content:flex-end;gap:22px;align-items:center;font-family:var(--font-display)}
.pm .acts .act{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:none;border:none;cursor:pointer;color:var(--ink)}
.pm .acts .act:hover{color:var(--red)}
.pm .acts .cart{background:var(--red);color:#fff;padding:9px 15px;border-radius:1px;position:relative}
.pm .acts .cart:hover{background:var(--red-deep);color:#fff}
.pm .acts .count{background:var(--ink);color:#fff;border-radius:999px;font-size:11px;padding:1px 6px;margin-left:2px;line-height:1.4;min-width:18px;text-align:center}

/* Primary nav */
.pm nav.primary{background:var(--ink)}
.pm nav.primary .pm-wrap{display:flex;align-items:stretch;gap:0}
.pm nav.primary a,.pm nav.primary .navlink{color:var(--paper);font-family:var(--font-display);font-weight:600;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;padding:14px 18px;position:relative;transition:background .15s,color .15s;display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer}
.pm nav.primary a:hover,.pm nav.primary .navlink:hover{background:var(--red);color:#fff}
.pm nav.primary a.browse{background:var(--red)}.pm nav.primary a.browse:hover{background:var(--red-deep)}
.pm nav.primary .spacer{flex:1}
.pm nav.primary a.give{color:var(--gold)}.pm nav.primary a.give:hover{color:#fff}
@media(max-width:980px){.pm nav.primary{overflow-x:auto}}

/* Mobile nav */
.pm .mnav{display:none;background:var(--ink);border-top:1px solid rgba(243,236,224,.18);padding:14px 0}
.pm .mnav.open{display:block}
.pm .mnav .pm-wrap{display:flex;flex-direction:column;gap:2px}
.pm .mnav a,.pm .mnav button{color:var(--paper);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-size:14px;font-weight:600;padding:11px 4px;text-align:left;background:none;border:none;cursor:pointer}
.pm .mnav a:hover{color:var(--gold)}
.pm .mob-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:6px}
@media(max-width:880px){
  .pm .mob-toggle{display:inline-flex}
  .pm nav.primary{display:none}
  .pm .masthead .m-search{display:none}
  .pm .masthead .pm-wrap{display:flex;justify-content:space-between;align-items:center;gap:14px}
  .pm .brand{justify-content:flex-start}
  .pm .brand img{height:62px}
  .pm .brand .wordmark{font-size:22px}
}

/* Value strip (optional, above blog content) */
.pm .valuestrip{background:var(--red);color:#fff}
.pm .valuestrip .pm-wrap{display:flex;justify-content:space-between;gap:18px;padding:14px 28px;font-family:var(--font-narrow);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:600;flex-wrap:wrap}
.pm .valuestrip .item{display:flex;align-items:center;gap:9px}
@media(max-width:640px){.pm .valuestrip .pm-wrap{flex-direction:column;align-items:center;text-align:center;gap:11px}}

/* Newsletter band */
.pm .news{background:var(--ink);color:var(--paper);border-top:3px solid var(--red)}
.pm .news .pm-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:58px;padding-bottom:58px}
@media(max-width:760px){.pm .news .pm-wrap{grid-template-columns:1fr;gap:28px}}
.pm .news h2{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(26px,3.6vw,40px);line-height:1;letter-spacing:-.01em;margin-bottom:14px}
.pm .news h2 em{font-style:normal;color:var(--gold)}
.pm .news p{color:rgba(243,236,224,.78);font-size:17px;max-width:440px}

/* Footer */
.pm footer.site{background:#100e0c;color:var(--paper);padding:58px 0 0}
.pm footer.site .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(243,236,224,.18)}
@media(max-width:860px){.pm footer.site .cols{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:520px){.pm footer.site .cols{grid-template-columns:1fr}}
/* Logo is already a self-contained red circle — show it directly (no white backing) */
.pm footer.site .about .logo-circle{display:inline-block;width:auto;height:auto;border:none;background:none;border-radius:0;margin-bottom:18px;overflow:visible}
.pm footer.site .about .logo-circle img{width:104px;height:104px;object-fit:contain}
.pm footer.site .about .wordmark{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:24px;color:#fff;margin-bottom:18px;display:block}
.pm footer.site .about p{font-size:15px;color:rgba(243,236,224,.7);max-width:320px;margin-bottom:20px}
.pm footer.site .social{display:flex;gap:14px}
.pm footer.site .social a{width:36px;height:36px;border:1px solid rgba(243,236,224,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.15s}
.pm footer.site .social a:hover{background:var(--red);border-color:var(--red)}
.pm footer.site h5{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--gold);margin:0 0 16px}
.pm footer.site ul{list-style:none;margin:0;padding:0}
.pm footer.site ul li{margin-bottom:10px}
.pm footer.site ul a{font-family:var(--font-narrow);font-size:15px;color:rgba(243,236,224,.75);letter-spacing:.02em}
.pm footer.site ul a:hover{color:#fff}
.pm footer.site .legal{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;font-family:var(--font-narrow);font-size:13px;color:rgba(243,236,224,.55);letter-spacing:.03em;flex-wrap:wrap}
.pm footer.site .uc{font-size:11px;color:rgba(243,236,224,.4);text-align:center;padding:14px 0 22px;font-family:var(--font-narrow);letter-spacing:.06em}
.pm footer.site .uc b{color:var(--gold)}

/* Blog post body → Spectral reading type, PM-red links, broadsheet headings.
   Apply class `pm-rte` to the Bricks post-content wrapper (see §6). */
.pm .pm-rte{font-family:var(--font-read);font-size:18px;line-height:1.75;color:var(--ink);max-width:760px;margin:0 auto}
.pm .pm-rte p{margin:0 0 1.1em}
.pm .pm-rte h2,.pm .pm-rte h3,.pm .pm-rte h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;line-height:1.15;margin:1.5em 0 .5em}
.pm .pm-rte h2{font-size:1.5em}.pm .pm-rte h3{font-size:1.25em}
.pm .pm-rte a{color:var(--red);text-decoration:underline}
.pm .pm-rte blockquote{border-left:3px solid var(--red);padding-left:16px;font-style:italic;color:var(--ink-soft);margin:1.2em 0}
.pm .pm-rte img{margin:1.2em 0}

/* Page heading band for archive/blog index */
.pm .pagehead{border-bottom:3px solid var(--ink);padding:14px 0 22px;margin:30px 0 34px}
.pm .pagehead h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(28px,4vw,46px);letter-spacing:-.02em;line-height:1}

/* ============================================================================
   Homepage (front page = page 17). Mirrors the original blog.pmpress.org home:
   News grid (latest posts) + Events (this month) in the main column, Recent
   Posts + newsletter + social in the sidebar. Built via a Bricks Code element
   on page 17 — see _bricks-templates/home.php + inject-homepage.php.
   ========================================================================== */
.pm .pm-home{display:grid;grid-template-columns:1fr 340px;gap:46px;align-items:start;padding-top:34px;padding-bottom:60px}
@media(max-width:980px){.pm .pm-home{grid-template-columns:1fr;gap:40px}}
.pm .pm-sec-title{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.01em;line-height:1;border-bottom:3px solid var(--ink);padding-bottom:12px;margin:0 0 24px;display:flex;align-items:baseline;gap:12px}
.pm .pm-sec-title .more{margin-left:auto;font-family:var(--font-narrow);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.pm .pm-sec-title .more:hover{color:var(--red-deep)}
.pm .pm-home section + section{margin-top:48px}

/* News grid */
.pm .pm-news-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px}
@media(max-width:600px){.pm .pm-news-grid{grid-template-columns:1fr}}
.pm .pm-card{display:flex;flex-direction:column}
.pm .pm-card .thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}
.pm .pm-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pm .pm-card:hover .thumb img{transform:scale(1.04)}
.pm .pm-card .cat{font-family:var(--font-narrow);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:11.5px;color:var(--red);margin:14px 0 7px}
.pm .pm-card h3{font-family:var(--font-display);font-weight:700;font-size:19px;line-height:1.22;letter-spacing:-.01em}
.pm .pm-card h3 a:hover{color:var(--red)}
.pm .pm-card .meta{font-family:var(--font-narrow);font-size:13px;color:var(--ink-soft);margin-top:8px}
.pm .pm-card .excerpt{font-family:var(--font-read);font-size:15px;color:var(--ink-soft);line-height:1.5;margin-top:8px}

/* The lead (first) news item spans both columns with a larger image */
.pm .pm-news-grid .pm-card.lead{grid-column:1 / -1;display:grid;grid-template-columns:1.3fr 1fr;gap:26px;align-items:center}
.pm .pm-news-grid .pm-card.lead h3{font-size:27px;line-height:1.12}
@media(max-width:600px){.pm .pm-news-grid .pm-card.lead{grid-template-columns:1fr}}

/* Events */
.pm .pm-events .evcard{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}
.pm .pm-events .evcard:first-child{padding-top:4px}
.pm .pm-events .evdate{flex:0 0 58px;text-align:center;background:var(--ink);color:var(--paper);border-radius:1px;padding:8px 4px;align-self:flex-start}
.pm .pm-events .evdate .d{font-family:var(--font-display);font-weight:900;font-size:22px;line-height:1}
.pm .pm-events .evdate .m{font-family:var(--font-narrow);text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin-top:3px}
.pm .pm-events .evbody h4{font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1.2}
.pm .pm-events .evbody h4 a:hover{color:var(--red)}
.pm .pm-events .evbody .loc{font-family:var(--font-narrow);font-size:13px;color:var(--ink-soft);margin-top:5px}
.pm .pm-events .none{font-family:var(--font-read);color:var(--ink-soft);font-style:italic}

/* Sidebar */
.pm .pm-side .widget{background:var(--paper-2);border:1px solid var(--line);padding:22px;margin-bottom:26px}
.pm .pm-side .widget > h4{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:10px;margin:0 0 16px}
.pm .pm-side .social-row{display:flex;gap:10px;flex-wrap:wrap}
.pm .pm-side .social-row a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.15s}
.pm .pm-side .social-row a:hover{background:var(--red);border-color:var(--red);color:#fff}
.pm .pm-side .news-blurb{font-family:var(--font-read);font-size:15px;color:var(--ink-soft);margin:0 0 14px}
.pm .pm-recent{list-style:none;margin:0;padding:0}
.pm .pm-recent li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.pm .pm-recent li:last-child{border-bottom:none;padding-bottom:0}
.pm .pm-recent .rthumb{flex:0 0 64px;height:52px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.pm .pm-recent .rthumb img{width:100%;height:100%;object-fit:cover}
.pm .pm-recent .rtitle{font-family:var(--font-display);font-weight:600;font-size:14px;line-height:1.25}
.pm .pm-recent .rtitle a:hover{color:var(--red)}
.pm .pm-recent .rmeta{font-family:var(--font-narrow);font-size:11.5px;color:var(--ink-soft);margin-top:4px;text-transform:uppercase;letter-spacing:.05em}

/* ============================================================================
   Events page (/event-directory/ = page 12) — PM Press skin over eventON.
   Scoped to body.page-id-12 so single-event pages and the rest of the site are
   untouched. Page content prepends a .pagehead band; the eventON shortcodes
   stay in the page so the plugin still enqueues its calendar assets.
   ========================================================================== */
body.page-id-12 #brx-content.wordpress{max-width:var(--maxw);margin:0 auto;padding:0 28px 64px}
/* Hide the theme's auto-rendered post title — the .pagehead band below replaces it */
body.page-id-12 #brx-content > h1{display:none}
body.page-id-12 .pm-events-head{padding:30px 0 0}
body.page-id-12 .pm-events-head h1{display:block;font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,5vw,52px);letter-spacing:-.02em;line-height:1;border-bottom:3px solid var(--ink);padding-bottom:16px}
body.page-id-12 .pm-events-head .pm-sub{font-family:var(--font-read);font-size:18px;color:var(--ink-soft);margin:14px 0 30px;max-width:680px;line-height:1.55}

/* ---- Calendar (tiles) header: month label rendered white-on-light → make it ink ---- */
body.page-id-12 #evcal_head{background:transparent}
body.page-id-12 #evcal_cur.evo_month_title,body.page-id-12 .evo_month_title{font-family:var(--font-display) !important;font-weight:900 !important;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink) !important}
/* Prev/next arrows are .evcal_arrows wrapping a Font Awesome <i class="fa">; colour the icon */
body.page-id-12 #evcal_head .evcal_arrows{background:var(--ink) !important;border-radius:50% !important}
body.page-id-12 #evcal_head .evcal_arrows .fa{color:#fff !important}
body.page-id-12 #evcal_head .evcal_arrows:hover{background:var(--red) !important}
body.page-id-12 #evcal_head .evcal_arrows:hover .fa{color:#fff !important}

/* ---- Top image tiles: lay out as a multi-column grid (eventON leaves them at
   width:100% = one per row when no .box_N column class is set) ---- */
body.page-id-12 #evcal_head{padding-bottom:14px}
body.page-id-12 .ajde_evcal_calendar.boxy{padding:0 0 10px}
body.page-id-12 .ajde_evcal_calendar.boxy #evcal_list{display:grid !important;grid-template-columns:repeat(3,1fr);gap:14px;padding:4px 0}
body.page-id-12 .ajde_evcal_calendar.boxy #evcal_list > *{width:auto !important;margin:0 !important;float:none !important}
body.page-id-12 .ajde_evcal_calendar.boxy .eventon_list_event.hasbgimg{min-height:200px;border-radius:2px;overflow:hidden;background-size:cover !important;background-position:center !important}
body.page-id-12 .ajde_evcal_calendar.boxy .evoShow_more_events{grid-column:1 / -1}
@media(max-width:820px){body.page-id-12 .ajde_evcal_calendar.boxy #evcal_list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){body.page-id-12 .ajde_evcal_calendar.boxy #evcal_list{grid-template-columns:1fr}}

/* ---- Event LIST styled as PM Press cards (homepage look): big ink date box + Archivo title,
   no images, scoped to the .list_cal container so the top .boxy image tiles are untouched.
   eventON's native absolute date-block positioning + click-to-slide-down details are kept. ---- */
body.page-id-12 .eventon_events_list,body.page-id-12 #evcal_list{background:transparent;border:none}
/* Month separator bars */
body.page-id-12 .evcal_month_line{background:var(--ink) !important;margin-top:8px}
body.page-id-12 .evcal_month_line h3,body.page-id-12 .evcal_month_line .evcal_month_title,body.page-id-12 .evcal_month_line span{font-family:var(--font-display) !important;font-weight:900 !important;text-transform:uppercase;letter-spacing:.02em;color:#fff !important}
/* Card rows */
body.page-id-12 .list_cal .eventon_list_event{border-bottom:1px solid var(--line);background:var(--paper)}
body.page-id-12 .list_cal .eventon_list_event .evcal_list_a{position:relative;border-right:none !important;padding:18px 16px;min-height:94px;box-sizing:border-box}
body.page-id-12 .list_cal .eventon_list_event .evcal_list_a:hover{background:var(--paper-2)}
/* Prominent date box (mirrors the homepage .evdate) */
body.page-id-12 .list_cal .evcal_cblock{left:16px !important;top:50% !important;transform:translateY(-50%);width:64px !important;min-height:62px;height:auto !important;padding:11px 6px !important;background:var(--ink) !important;border-radius:1px;text-align:center;box-sizing:border-box}
body.page-id-12 .list_cal .evcal_cblock .date{font-family:var(--font-display) !important;font-weight:900 !important;font-size:26px !important;line-height:1 !important;color:#fff !important;display:block}
body.page-id-12 .list_cal .evcal_cblock .month,body.page-id-12 .list_cal .evcal_cblock em.evo_day{font-family:var(--font-narrow) !important;text-transform:uppercase !important;font-size:11px !important;letter-spacing:.07em;color:var(--gold) !important;display:block;margin-top:3px}
body.page-id-12 .list_cal .evcal_cblock .time,body.page-id-12 .list_cal .evcal_cblock .year{display:none !important}
/* Title + meta clear the bigger date box */
body.page-id-12 .list_cal .evcal_desc{padding-left:96px !important;padding-right:12px !important;text-align:left !important}
body.page-id-12 .list_cal .evcal_desc2.evcal_event_title{font-family:var(--font-display) !important;font-weight:700 !important;font-size:20px !important;line-height:1.22 !important;color:var(--ink) !important}
body.page-id-12 .list_cal .evcal_list_a:hover .evcal_event_title{color:var(--red) !important}
body.page-id-12 .list_cal .evo_above_title,body.page-id-12 .list_cal .evo_below_title{font-family:var(--font-narrow);color:var(--ink-soft);letter-spacing:.02em}
body.page-id-12 .eventon_list_event .desc_trig:hover,body.page-id-12 .evcal_evdata_row a{color:var(--red)}
/* Buttons / nav to PM red */
body.page-id-12 .evcal_btn,body.page-id-12 .evo_btn,body.page-id-12 .eventon_button{background:var(--red) !important;color:#fff !important;border:none !important;font-family:var(--font-display) !important;text-transform:uppercase;letter-spacing:.05em;border-radius:1px}
body.page-id-12 .evcal_btn:hover,body.page-id-12 .evo_btn:hover{background:var(--red-deep) !important}

/* ---- Slide-down event detail (eventON native click-to-expand) ---- */
body.page-id-12 .eventon_list_event .evcal_desc3,body.page-id-12 .eventon_desc_in{font-family:var(--font-read);font-size:15.5px;line-height:1.62;color:var(--ink-soft)}
body.page-id-12 .eventon_desc_in{padding:6px 18px 18px}
body.page-id-12 .eventon_desc_in p{margin:0 0 1em}
body.page-id-12 .eventon_desc_in a{color:var(--red);text-decoration:underline}
body.page-id-12 .evcal_evdata_row,body.page-id-12 .evo_metarow_locName,body.page-id-12 .evo_metarow_time,body.page-id-12 .evo_metarow_det{font-family:var(--font-narrow);color:var(--ink-soft)}
body.page-id-12 .evcal_evdata_icons,body.page-id-12 .evcal_evdata_row i{color:var(--red) !important}
/* "Read more"/buttons inside the expanded detail */
body.page-id-12 .evo_evcrd_btn,body.page-id-12 .evcal_btn{background:var(--red) !important;color:#fff !important;font-family:var(--font-display) !important;text-transform:uppercase;letter-spacing:.05em;border:none !important;border-radius:1px}

/* ---- Top tiles (eventON .hasbgimg image cards): title/meta WHITE over the image.
   Only the top-tiles items get .hasbgimg; the month list rows never do, so this
   is safe to key on .hasbgimg alone. ---- */
body.page-id-12 .eventon_list_event.hasbgimg .evcal_desc2,
body.page-id-12 .eventon_list_event.hasbgimg .evcal_event_title,
body.page-id-12 .eventon_list_event.hasbgimg .evcal_desc,
body.page-id-12 .eventon_list_event.hasbgimg .evcal_desc *{color:#fff !important}
/* Dark gradient so white text always reads over light images */
body.page-id-12 .eventon_list_event.hasbgimg .evcal_list_a:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(22,20,18,.82),rgba(22,20,18,.15) 62%,rgba(22,20,18,.05));z-index:0;pointer-events:none}
body.page-id-12 .eventon_list_event.hasbgimg .evcal_desc,body.page-id-12 .eventon_list_event.hasbgimg .evcal_cblock{position:relative;z-index:1}

/* ============================================================================
   [pmp_events] — our own events cards + slide-down (full style control).
   Each event once, grouped by start month. No images. body.page-id-12 scope.
   ========================================================================== */
body.page-id-12 .pm-events{margin-top:6px}
body.page-id-12 .pm-ev-month{font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:15px;color:#fff;background:var(--ink);padding:10px 16px;margin:22px 0 0}
body.page-id-12 .pm-ev-card{display:flex;gap:20px;align-items:flex-start;padding:18px 16px;border:1px solid var(--line);border-top:none;background:var(--paper)}
body.page-id-12 .pm-ev-month + .pm-ev-card{border-top:none}
body.page-id-12 .pm-ev-card.open,body.page-id-12 .pm-ev-card:hover{background:var(--paper-2)}
/* Date box — mirrors the homepage .evdate */
body.page-id-12 .pm-ev-card .evdate{flex:0 0 64px;text-align:center;background:var(--ink);border-radius:1px;padding:11px 6px;align-self:flex-start}
body.page-id-12 .pm-ev-card .evdate .d{font-family:var(--font-display);font-weight:900;font-size:26px;line-height:1;display:block;color:#fff}
body.page-id-12 .pm-ev-card .evdate .m{font-family:var(--font-narrow);text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--gold);display:block;margin-top:3px}
/* Body */
body.page-id-12 .pm-ev-card .ev-body{flex:1;min-width:0}
body.page-id-12 .pm-ev-card .ev-body h3{font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
body.page-id-12 .pm-ev-card .ev-meta{font-family:var(--font-narrow);font-size:13.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-top:7px}
/* Details toggle */
body.page-id-12 .pm-ev-toggle{margin-top:12px;font-family:var(--font-display);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--red);background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
body.page-id-12 .pm-ev-toggle:hover{color:var(--red-deep)}
body.page-id-12 .pm-ev-toggle .chev{transition:transform .25s}
body.page-id-12 .pm-ev-card.open .pm-ev-toggle .chev{transform:rotate(180deg)}
/* Slide-down panel */
body.page-id-12 .pm-ev-details{max-height:0;overflow:hidden;transition:max-height .32s ease}
body.page-id-12 .pm-ev-details-in{font-family:var(--font-read);font-size:16px;line-height:1.65;color:var(--ink-soft);padding:16px 0 4px;border-top:1px solid var(--line);margin-top:14px}
body.page-id-12 .pm-ev-details-in p{margin:0 0 1em}
body.page-id-12 .pm-ev-details-in a{color:var(--red);text-decoration:underline}
body.page-id-12 .pm-ev-details-in img{margin:1em 0;border:1px solid var(--line)}
body.page-id-12 .pm-ev-when,body.page-id-12 .pm-ev-where{font-family:var(--font-narrow);font-size:14px;color:var(--ink);text-transform:none;letter-spacing:.01em;margin:0 0 6px}
body.page-id-12 .pm-ev-when strong,body.page-id-12 .pm-ev-where strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:var(--red)}
body.page-id-12 .pm-ev-where{margin-bottom:14px}
body.page-id-12 a.pm-ev-link{display:inline-block;margin-top:8px;font-family:var(--font-display);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--red);text-decoration:none}
body.page-id-12 a.pm-ev-link:hover{color:var(--red-deep)}
body.page-id-12 .pm-ev-none{font-family:var(--font-read);font-style:italic;color:var(--ink-soft);padding:24px 0}
@media(max-width:600px){body.page-id-12 .pm-ev-card{gap:14px;padding:16px 12px}body.page-id-12 .pm-ev-card .evdate{flex-basis:54px}}

/* ---- Slide-down detail: featured image + formatted body (event post_content is
   Divi-built HTML with oversized headings & inline #ff0000 links) ---- */
body.page-id-12 .pm-ev-img{margin:2px 0 16px}
body.page-id-12 .pm-ev-details-in .pm-ev-img img{max-width:min(360px,100%);max-height:340px;width:auto;height:auto;display:block;margin:0;border:1px solid var(--line)}
body.page-id-12 .pm-ev-details-in h1,body.page-id-12 .pm-ev-details-in h2,body.page-id-12 .pm-ev-details-in h3,body.page-id-12 .pm-ev-details-in h4,body.page-id-12 .pm-ev-details-in h5,body.page-id-12 .pm-ev-details-in h6{font-family:var(--font-display) !important;font-weight:700 !important;color:var(--ink) !important;line-height:1.22;letter-spacing:-.01em;margin:1.1em 0 .4em}
body.page-id-12 .pm-ev-details-in h1{font-size:21px !important}
body.page-id-12 .pm-ev-details-in h2{font-size:19px !important}
body.page-id-12 .pm-ev-details-in h3{font-size:17px !important}
body.page-id-12 .pm-ev-details-in h4,body.page-id-12 .pm-ev-details-in h5,body.page-id-12 .pm-ev-details-in h6{font-size:15px !important;text-transform:uppercase;letter-spacing:.03em}
body.page-id-12 .pm-ev-details-in > :first-child{margin-top:0 !important}
body.page-id-12 .pm-ev-details-in p,body.page-id-12 .pm-ev-details-in li{font-family:var(--font-read);font-size:16px;line-height:1.65;color:var(--ink-soft);margin:0 0 1em}
body.page-id-12 .pm-ev-details-in ul,body.page-id-12 .pm-ev-details-in ol{margin:0 0 1em;padding-left:1.3em}
body.page-id-12 .pm-ev-details-in a{color:var(--red) !important;text-decoration:underline}
body.page-id-12 .pm-ev-details-in img{max-width:min(420px,100%);max-height:380px;width:auto;height:auto;margin:1em 0;border:1px solid var(--line)}
body.page-id-12 .pm-ev-details-in iframe{max-width:100%;margin:1em 0}
/* Override the content's inline red (#ff0000) to PM red */
body.page-id-12 .pm-ev-details-in [style*="ff0000"],body.page-id-12 .pm-ev-details-in [style*="FF0000"]{color:var(--red) !important}
/* Neutralize Divi builder wrappers baked into the saved content */
body.page-id-12 .pm-ev-details-in .et_pb_text_inner,body.page-id-12 .pm-ev-details-in .et_pb_text,body.page-id-12 .pm-ev-details-in .et_pb_module,body.page-id-12 .pm-ev-details-in .et_pb_row,body.page-id-12 .pm-ev-details-in .et_pb_column,body.page-id-12 .pm-ev-details-in .et_pb_section{margin:0 !important;padding:0 !important;width:auto !important;max-width:none !important;background:none !important;float:none !important}

/* ============================================================================
   AUTHOR PAGES — PM Press styling.
   .pmp-author-landing = /authors-artists-comrades/ (A–Z nav + search)
   .pmp-author-index   = /a/, /b/ … (author photo gallery)
   .pmp-author-single  = individual author bio pages (children of page 59)
   ========================================================================== */
body.pmp-authors #brx-content.wordpress{max-width:var(--maxw);margin:0 auto;padding:0 28px 60px}
/* Page title (author name / "Authors" / letter) as a broadsheet pagehead */
body.pmp-authors #brx-content > h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(28px,4.6vw,50px);letter-spacing:-.02em;line-height:1;border-bottom:3px solid var(--ink);padding-bottom:14px;margin:30px 0 26px;color:var(--ink)}
body.pmp-authors .wp-block-heading{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:18px;color:var(--ink);margin:26px 0 14px}

/* Search block */
body.pmp-authors .wp-block-search__inside-wrapper{border:none;padding:0;gap:8px}
body.pmp-authors .wp-block-search__input{border:1.5px solid var(--ink) !important;background:var(--paper);font-family:var(--font-narrow);font-size:15px;padding:11px 14px;border-radius:0;color:var(--ink)}
body.pmp-authors .wp-block-search__input:focus{outline:none;border-color:var(--red) !important}
body.pmp-authors .wp-block-search__button{background:var(--red) !important;color:#fff !important;border:none !important;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:13px;padding:11px 20px;border-radius:0;margin-left:8px;cursor:pointer}
body.pmp-authors .wp-block-search__button:hover{background:var(--red-deep) !important}

/* A–Z letter nav — fit all on one line. Kept as inline text (NOT font-size:0,
   since letters with no authors — e.g. U, X — are plain text, not links, and
   must stay visible). nowrap + a viewport-scaled font keep it to one row;
   overflow-x:auto is a safety net on very narrow screens. */
body.pmp-author-landing #brx-content > p,body.pmp-author-index #brx-content > p{font-family:var(--font-display);font-weight:600;font-size:clamp(12px,1.5vw,18px);color:var(--ink-soft);white-space:nowrap;text-align:center;letter-spacing:.01em;margin:12px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 4px;overflow-x:auto}
body.pmp-author-landing #brx-content > p a,body.pmp-author-index #brx-content > p a{color:var(--ink);font-weight:800;padding:0 2px;border:none;text-decoration:none}
body.pmp-author-landing #brx-content > p a:hover,body.pmp-author-index #brx-content > p a:hover{color:var(--red);background:none}

/* Author photo gallery (index pages) → grid of cards, name BELOW the photo */
body.pmp-author-index .wp-block-gallery{display:grid !important;grid-template-columns:repeat(4,1fr);gap:24px 16px;list-style:none;margin:26px 0 0;padding:0}
body.pmp-author-index .wp-block-gallery .blocks-gallery-item{margin:0 !important;width:auto !important}
body.pmp-author-index .wp-block-gallery figure{margin:0;display:flex;flex-direction:column;background:none;border:none}
body.pmp-author-index .wp-block-gallery figure > a{display:block;overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}
body.pmp-author-index .wp-block-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .35s}
body.pmp-author-index .wp-block-gallery figure > a:hover img{transform:scale(1.05)}
body.pmp-author-index .wp-block-gallery figcaption{position:static;margin:0;padding:11px 4px 0;background:none;text-align:center}
body.pmp-author-index .wp-block-gallery figcaption a,body.pmp-author-index .wp-block-gallery figcaption strong,body.pmp-author-index .wp-block-gallery figcaption strong a{font-family:var(--font-display) !important;font-weight:700;font-size:15px;line-height:1.25;color:var(--red) !important;letter-spacing:-.01em}
body.pmp-author-index #brx-content .wp-block-gallery figcaption a:hover{color:var(--red-deep) !important}
@media(max-width:860px){body.pmp-author-index .wp-block-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){body.pmp-author-index .wp-block-gallery{grid-template-columns:repeat(2,1fr)}}

/* Single author bio: aligned portrait + Spectral reading body */
body.pmp-author-single #brx-content{font-family:var(--font-read);font-size:17px;line-height:1.7;color:var(--ink)}
body.pmp-author-single #brx-content .wp-block-image.alignleft,body.pmp-author-single #brx-content figure.alignleft{float:left;margin:4px 30px 16px 0;max-width:300px}
body.pmp-author-single #brx-content .wp-block-image img{border:1px solid var(--line);height:auto}
body.pmp-author-single #brx-content figcaption{font-family:var(--font-narrow);font-size:13px;color:var(--ink-soft);text-align:center;margin-top:7px;letter-spacing:.02em}
body.pmp-author-single #brx-content p{font-family:var(--font-read);font-size:17px;line-height:1.72;color:var(--ink);margin:0 0 1.1em}
body.pmp-author-single #brx-content a{color:var(--red);text-decoration:underline}
body.pmp-author-single #brx-content h2,body.pmp-author-single #brx-content h3,body.pmp-author-single #brx-content h4{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);line-height:1.2;margin:1.4em 0 .5em}
body.pmp-author-single #brx-content h2{font-size:1.4em}body.pmp-author-single #brx-content h3{font-size:1.2em}
body.pmp-author-single #brx-content ul,body.pmp-author-single #brx-content ol{margin:0 0 1.1em;padding-left:1.4em}
body.pmp-author-single #brx-content::after{content:"";display:block;clear:both}

/* Author-page links = a person's name in ANY list of authors, on any page.
   Colour them theme-red wherever they appear in content (excludes the header/
   footer nav, which live outside #brx-content). */
body.pm #brx-content a[href*="/authors-artists-comrades/"]{color:var(--red) !important}
body.pm #brx-content a[href*="/authors-artists-comrades/"]:hover{color:var(--red-deep) !important}
/* On the dark photo-overlay gallery, hover stays light for contrast */
body.pmp-author-index #brx-content .wp-block-gallery figcaption a:hover{color:#fff !important}

/* Single author pages: book purchase/price buttons (wp-block-button) → PM Press
   red buttons. !important overrides both the default WP button style and the
   bio-link rule (which would otherwise make button text red + underlined). */
body.pmp-author-single #brx-content .wp-block-button{margin:0 10px 12px 0}
body.pmp-author-single #brx-content .wp-block-button__link{display:inline-block;background:var(--red) !important;background-color:var(--red) !important;background-image:none !important;color:#fff !important;font-family:var(--font-display) !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.04em;font-size:14px !important;line-height:1.2;border:none !important;border-radius:1px !important;padding:12px 22px !important;text-decoration:none !important;box-shadow:none !important;transition:background .15s,transform .12s}
body.pmp-author-single #brx-content .wp-block-button__link:hover{background:var(--red-deep) !important;background-color:var(--red-deep) !important;color:#fff !important;transform:translateY(-2px)}
/* Outline-style buttons, if any → outlined red that fills on hover */
body.pmp-author-single #brx-content .wp-block-button.is-style-outline .wp-block-button__link{background:transparent !important;background-color:transparent !important;color:var(--red) !important;border:2px solid var(--red) !important}
body.pmp-author-single #brx-content .wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--red) !important;background-color:var(--red) !important;color:#fff !important}

/* ============================================================================
   BLOG INDEX (/blog/ = page_for_posts) — PM Press posts grid (body.blog).
   Bricks renders ul.bricks-layout-wrapper > li.bricks-layout-item cards.
   ========================================================================== */
body.blog #brx-content{max-width:var(--maxw);margin:0 auto;padding:0 28px 64px}
body.blog .pm-blog-head{padding-top:30px}
body.blog .pm-blog-head h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,5vw,52px);letter-spacing:-.02em;line-height:1;border-bottom:3px solid var(--ink);padding-bottom:14px;margin:0 0 30px;color:var(--ink)}
/* Grid */
body.blog ul.bricks-layout-wrapper{display:grid !important;grid-template-columns:repeat(3,1fr);gap:42px 30px;list-style:none;margin:0;padding:0}
body.blog .bricks-layout-item{margin:0 !important;background:none;border:none;padding:0}
body.blog .bricks-layout-inner{display:flex;flex-direction:column;height:100%}
/* Image */
body.blog .image-wrapper{margin:0 0 14px}
body.blog .image-wrapper a{display:block;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);aspect-ratio:16/10}
body.blog .image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
body.blog .bricks-layout-inner:hover .image-wrapper img{transform:scale(1.05)}
/* Content: date (red meta) → title → excerpt */
body.blog .content-wrapper{display:flex;flex-direction:column}
body.blog .content-wrapper .dynamic[data-field-id="1"]{order:1;font-family:var(--font-narrow);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--red);margin:0 0 7px}
body.blog .content-wrapper h3.dynamic{order:2;font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.22;letter-spacing:-.01em;margin:0 0 9px}
body.blog .content-wrapper h3.dynamic a{color:var(--ink)}
body.blog .content-wrapper h3.dynamic a:hover{color:var(--red)}
body.blog .content-wrapper .dynamic[data-field-id="2"]{order:3;font-family:var(--font-read);font-size:15px;line-height:1.55;color:var(--ink-soft)}
/* Pagination */
body.blog .bricks-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin-top:48px;list-style:none;padding:30px 0 0;border-top:1px solid var(--line)}
body.blog .bricks-pagination .page-numbers{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--ink);padding:9px 15px;border:1.5px solid var(--line);text-decoration:none;line-height:1;transition:.15s}
body.blog .bricks-pagination a.page-numbers:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
body.blog .bricks-pagination .page-numbers.current{background:var(--red);color:#fff;border-color:var(--red)}
body.blog .bricks-pagination .page-numbers.dots{border:none;padding:9px 4px}
@media(max-width:860px){body.blog ul.bricks-layout-wrapper{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){body.blog ul.bricks-layout-wrapper{grid-template-columns:1fr}}

/* ============================================================================
   SINGLE BLOG POST (body.single-post) — PM Press styling.
   Bricks default single template: .bricks-post-header (featured img bg + title +
   meta) → article.brxe-container > .brxe-post-content → .brxe-post-author → tags.
   ========================================================================== */
/* Header with featured image → hero with dark overlay + white title */
body.single-post .bricks-post-header.has-image{position:relative;background-size:cover !important;background-position:center !important;min-height:440px;display:flex;align-items:flex-end;border-bottom:3px solid var(--red);margin-bottom:0}
body.single-post .bricks-post-header.has-image::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,20,18,.94),rgba(22,20,18,.45) 58%,rgba(22,20,18,.25))}
body.single-post .bricks-post-header.has-image .brxe-container{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;width:100%;padding:42px 28px}
body.single-post .bricks-post-header.has-image .brxe-post-title{color:#fff}
body.single-post .bricks-post-header.has-image .brxe-post-meta,body.single-post .bricks-post-header.has-image .brxe-post-meta .item{color:#fff}
body.single-post .bricks-post-header.has-image .brxe-post-meta .separator{color:var(--gold)}
/* Header without image → title + meta on paper */
body.single-post .bricks-post-header:not(.has-image){max-width:var(--maxw);margin:0 auto;padding:36px 28px 0}
body.single-post .bricks-post-header:not(.has-image) .brxe-post-title{color:var(--ink);border-bottom:3px solid var(--ink);padding-bottom:16px}
body.single-post .bricks-post-header:not(.has-image) .brxe-post-meta .item{color:var(--ink)}
body.single-post .bricks-post-header:not(.has-image) .brxe-post-meta .separator{color:var(--red)}
/* Title + meta type */
body.single-post .brxe-post-title{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,4.4vw,52px);line-height:1.08;letter-spacing:-.02em;margin:0 0 14px;max-width:920px}
body.single-post .brxe-post-meta{font-family:var(--font-narrow);font-size:14px;text-transform:uppercase;letter-spacing:.05em}
body.single-post .brxe-post-meta .separator{margin:0 9px}

/* Reading column — full content width to match the header/site */
body.single-post article.brxe-container{max-width:var(--maxw);margin:0 auto;padding:0 28px}
body.single-post .brxe-post-content{font-family:var(--font-read);font-size:18px;line-height:1.78;color:var(--ink);padding-top:38px}
body.single-post .brxe-post-content p{margin:0 0 1.2em}
body.single-post .brxe-post-content h2,body.single-post .brxe-post-content h3,body.single-post .brxe-post-content h4{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1.18;color:var(--ink);margin:1.6em 0 .5em}
body.single-post .brxe-post-content h2{font-size:1.55em}body.single-post .brxe-post-content h3{font-size:1.28em}
body.single-post .brxe-post-content a{color:var(--red);text-decoration:underline}
body.single-post .brxe-post-content blockquote{border-left:3px solid var(--red);padding:2px 0 2px 20px;font-style:italic;color:var(--ink-soft);margin:1.5em 0;font-size:1.05em}
body.single-post .brxe-post-content img{height:auto;border:1px solid var(--line)}
body.single-post .brxe-post-content figure{margin:1.4em 0}
body.single-post .brxe-post-content figure.alignleft{float:left;margin:.4em 28px 16px 0;max-width:320px}
body.single-post .brxe-post-content figure.alignright{float:right;margin:.4em 0 16px 28px;max-width:320px}
body.single-post .brxe-post-content figcaption{font-family:var(--font-narrow);font-size:13px;color:var(--ink-soft);text-align:center;margin-top:7px}
body.single-post .brxe-post-content ul,body.single-post .brxe-post-content ol{margin:0 0 1.2em;padding-left:1.4em}
body.single-post .brxe-post-content li{margin:0 0 .4em}
body.single-post .brxe-post-content hr,body.single-post .brxe-post-content .wp-block-separator{border:none;border-top:1px solid var(--line);margin:2.2em 0;height:0;background:none}
/* Buttons inside post content → PM red */
body.single-post .brxe-post-content .wp-block-button__link{display:inline-block;background:var(--red) !important;background-image:none !important;color:#fff !important;font-family:var(--font-display) !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.04em;font-size:14px !important;border:none !important;border-radius:1px !important;padding:12px 22px !important;text-decoration:none !important}
body.single-post .brxe-post-content .wp-block-button.is-style-outline .wp-block-button__link{background:transparent !important;color:var(--red) !important;border:2px solid var(--red) !important}
body.single-post .brxe-post-content .wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--red) !important;color:#fff !important}
body.single-post .brxe-post-content .wp-block-button__link:hover{background:var(--red-deep) !important}

/* Author box */
body.single-post .brxe-post-author{display:flex;gap:18px;align-items:flex-start;background:var(--paper-2);border:1px solid var(--line);padding:22px 24px;margin:40px 0 0}
body.single-post .brxe-post-author img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--line)}
body.single-post .brxe-post-author .author-name{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:17px;color:var(--ink);margin:0 0 6px}
body.single-post .brxe-post-author .author-bio{font-family:var(--font-read);font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0}

/* Tags */
body.single-post .brxe-post-taxonomy{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:28px 0 56px}
body.single-post .brxe-post-taxonomy .bricks-button{background:var(--ink) !important;color:#fff !important;font-family:var(--font-narrow) !important;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600;padding:7px 13px !important;border-radius:1px;text-decoration:none;border:none}
body.single-post .brxe-post-taxonomy .bricks-button:hover{background:var(--red) !important;color:#fff !important}
@media(max-width:680px){body.single-post .bricks-post-header.has-image{min-height:300px}}

/* Single post: previous / next post navigation — PM Press cards + space before footer */
body.single-post .brxe-post-navigation{display:flex !important;flex-wrap:nowrap !important;gap:24px;margin:48px 0 72px;padding:30px 0 0;border-top:1px solid var(--line)}
body.single-post .brxe-post-navigation .prev-post,body.single-post .brxe-post-navigation .next-post{flex:1 1 0 !important;min-width:0;max-width:calc(50% - 12px);display:flex !important;flex-direction:row !important;align-items:center;gap:14px;background:var(--paper-2);border:1px solid var(--line);padding:14px;text-decoration:none;transition:background .15s,transform .12s}
body.single-post .brxe-post-navigation .prev-post:hover,body.single-post .brxe-post-navigation .next-post:hover{background:var(--paper);transform:translateY(-2px)}
/* When a post has only one neighbour, keep it on its own side at ~half width */
body.single-post .brxe-post-navigation .next-post{margin-left:auto}
body.single-post .brxe-post-navigation .image{flex:0 0 62px;width:62px;height:62px;background-size:cover !important;background-position:center !important;border:1px solid var(--line)}
body.single-post .brxe-post-navigation .content{min-width:0}
body.single-post .brxe-post-navigation .label{font-family:var(--font-narrow);text-transform:uppercase;letter-spacing:.07em;font-size:11px;color:var(--red);display:block;margin-bottom:5px}
body.single-post .brxe-post-navigation .title{font-family:var(--font-display) !important;font-weight:700;font-size:15px;line-height:1.25;color:var(--ink);margin:0}
body.single-post .brxe-post-navigation a:hover .title{color:var(--red)}
@media(max-width:600px){body.single-post .brxe-post-navigation{flex-wrap:wrap !important}body.single-post .brxe-post-navigation .prev-post,body.single-post .brxe-post-navigation .next-post{flex-basis:100% !important;max-width:none}}

/* Single post: social share icons → PM Press monochrome (override .brand-colors).
   The sharing block is a flex child of .bricks-post-meta-wrapper (next to the
   tags); flex-shrink:0 + nowrap keep the icons at full size in one row even when
   the tags are long. */
body.single-post .bricks-post-meta-wrapper{align-items:flex-start;gap:24px}
body.single-post .brxe-post-sharing{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:9px;list-style:none;margin:0;padding:0;align-items:center}
body.single-post .brxe-post-sharing.brand-colors a,body.single-post .brxe-post-sharing a{flex:0 0 38px;background-color:var(--ink) !important;background-image:none !important;color:#fff !important;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:none;transition:background-color .15s,transform .12s}
body.single-post .brxe-post-sharing a:hover{background-color:var(--red) !important;transform:translateY(-2px)}
body.single-post .brxe-post-sharing a svg{width:16px;height:16px;fill:#fff !important;color:#fff !important}
body.single-post .brxe-post-sharing a svg path{fill:#fff !important}

/* Price/purchase buttons in post + author content have a hard-coded .alignleft
   (float:left), which made following text (e.g. "Back to … Author Page" links)
   wrap up against them. Un-float them so they sit on their own line and the
   following content drops below. */
body.single-post .brxe-post-content .wp-block-button,
body.single-post .brxe-post-content .wp-block-button.alignleft,
body.single-post .brxe-post-content .wp-block-button.alignright,
body.pmp-author-single #brx-content .wp-block-button,
body.pmp-author-single #brx-content .wp-block-button.alignleft,
body.pmp-author-single #brx-content .wp-block-button.alignright{float:none !important;display:inline-block;vertical-align:top;margin:0 10px 14px 0}
/* Make sure the buttons row clears any earlier float before it */
body.single-post .brxe-post-content .wp-block-button{clear:none}

/* ---- Primary-nav dropdown (Blog ▾) — matches the UnifyCart menu (MENU-SPEC §2) ---- */
.pm .nav-drop{position:relative;display:inline-flex}
.pm .nav-drop-menu{display:none;position:absolute;left:0;top:100%;min-width:210px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.22);z-index:60;padding:6px 0}
.pm .nav-drop:hover .nav-drop-menu{display:block}
/* Higher specificity than `.pm nav.primary a` so submenu items aren't light-on-light */
.pm nav.primary .nav-drop-menu a{display:block;color:var(--ink);text-transform:none;letter-spacing:0;font-family:var(--font-read);font-weight:500;font-size:15px;padding:9px 18px}
.pm nav.primary .nav-drop-menu a:hover{background:var(--red);color:#fff}
/* Mobile: indented Blog children under "Blog" */
.pm .mnav a.sub{padding-left:18px;font-size:13px;opacity:.85}

/* ============================================================================
   MOBILE RESPONSIVENESS — single post, author pages (landing/index/single),
   events page. Stack flex rows, un-float images, tighten padding, kill overflow.
   ========================================================================== */
@media(max-width:782px){
  /* Tighter side padding on content-heavy pages */
  body.single-post article.brxe-container,
  body.single-post .bricks-post-header.has-image .brxe-container,
  body.single-post .bricks-post-header:not(.has-image),
  body.pmp-authors #brx-content.wordpress,
  body.page-id-12 #brx-content.wordpress{padding-left:18px;padding-right:18px}

  /* Media never forces horizontal scroll */
  body.single-post .brxe-post-content img,body.single-post .brxe-post-content iframe,
  body.single-post .brxe-post-content video,body.single-post .brxe-post-content table,
  body.pmp-author-single #brx-content img,body.pmp-author-single #brx-content iframe,
  body.pmp-authors .wp-block-gallery img,
  body.page-id-12 .pm-ev-details-in img,body.page-id-12 .pm-ev-details-in iframe{max-width:100% !important;height:auto}
  body.single-post .brxe-post-content,body.pmp-author-single #brx-content,
  body.page-id-12 .pm-ev-details-in{overflow-wrap:break-word;word-wrap:break-word}

  /* Un-float in-content images so text isn't squeezed into a sliver */
  body.single-post .brxe-post-content figure.alignleft,body.single-post .brxe-post-content figure.alignright,
  body.single-post .brxe-post-content .wp-block-image.alignleft,body.single-post .brxe-post-content .wp-block-image.alignright,
  body.pmp-author-single #brx-content .wp-block-image.alignleft,body.pmp-author-single #brx-content figure.alignleft,
  body.pmp-author-single #brx-content .wp-block-image.alignright,body.pmp-author-single #brx-content figure.alignright{float:none !important;max-width:100% !important;margin:0 0 16px 0 !important}

  /* Single post: smaller hero, wrapping meta, stacked author box + tags/share row */
  body.single-post .bricks-post-header.has-image{min-height:260px}
  body.single-post .brxe-post-meta{flex-wrap:wrap;row-gap:4px}
  body.single-post .brxe-post-author{flex-direction:column;gap:12px}
  body.single-post .bricks-post-meta-wrapper{flex-direction:column;align-items:flex-start;gap:18px}
  body.single-post .brxe-post-sharing{flex-wrap:wrap}

  /* Events: keep eventON calendar/tiles inside the viewport */
  body.page-id-12 .ajde_evcal_calendar,body.page-id-12 .eventon_events_list{max-width:100%}
  body.page-id-12 #evcal_head .evo_arrows{float:none}
}
@media(max-width:480px){
  body.single-post article.brxe-container,
  body.pmp-authors #brx-content.wordpress,
  body.page-id-12 #brx-content.wordpress{padding-left:15px;padding-right:15px}
  /* Author photo grid → single column on small phones */
  body.pmp-author-index .wp-block-gallery{grid-template-columns:1fr 1fr}
  /* Event card: let the body wrap under a smaller date box if very tight */
  body.page-id-12 .pm-ev-card .evdate{flex:0 0 50px}
}

/* ---- Authors landing/index mobile fixes (content was not adapting) ---- */
/* A–Z nav: wrap to multiple lines on mobile (was nowrap + horizontal scroll → L–Z cut off) */
@media(max-width:680px){
  body.pmp-author-landing #brx-content > p,body.pmp-author-index #brx-content > p{white-space:normal;overflow-x:visible;line-height:2.3}
  body.pmp-author-landing #brx-content > p a,body.pmp-author-index #brx-content > p a{padding:2px 6px}
}
/* ---- SITE-WIDE content overflow fix (the real cause of "content expands too
   much" on mobile). Pages built with wp-block-columns set to "Don't stack on
   mobile" (.is-not-stacked-on-mobile) stay in a nowrap row and blow past the
   viewport. Force every content column block to WRAP + shrink, and hard-cap all
   media — so nothing in #brx-content can ever be wider than the phone. ---- */
@media(max-width:880px){
  body.pm #brx-content img,body.pm #brx-content video,body.pm #brx-content iframe,
  body.pm #brx-content table,body.pm #brx-content .wp-block-image,
  body.pm #brx-content figure{max-width:100% !important}
  body.pm #brx-content .wp-block-columns{flex-wrap:wrap !important;gap:12px;margin-bottom:14px}
  body.pm #brx-content .wp-block-columns > .wp-block-column{flex:1 1 140px !important;min-width:0 !important;margin:0 !important}
}

/* ---- Authors LANDING (page 59) featured-author columns → responsive GRID.
   These are 15 rows of 4 (has-4-columns) with WP layout CSS forcing
   flex-wrap:nowrap, so on mobile they stayed 4-across-and-tiny / overflowed.
   A 1fr grid can NEVER exceed the viewport. Focused fix for this one page. ---- */
@media(max-width:880px){
  body.pmp-author-landing #brx-content .wp-block-columns{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:12px !important;margin:0 0 12px !important}
  body.pmp-author-landing #brx-content .wp-block-columns > .wp-block-column{width:auto !important;min-width:0 !important;max-width:100% !important;flex:none !important;margin:0 !important}
  body.pmp-author-landing #brx-content .wp-block-columns img{width:100% !important;height:auto}
  body.pmp-author-landing #brx-content{overflow-x:clip}
}
@media(max-width:560px){
  body.pmp-author-landing #brx-content .wp-block-columns{grid-template-columns:repeat(2,1fr) !important}
}

/* ============================================================================
   ROOT CAUSE of the mobile overflow: Bricks sets a FIXED 1100px content width in
   two places — content-default.min.css (#brx-content.wordpress{width:1100px}) and
   frontend.min.css (.brxe-container{width:1100px}). On phones that 1100px stays
   put and pushes the page off-screen (header/footer fit because they're separate
   full-width Code elements, not .brxe-container). Release the width to auto so it
   shrinks to the viewport. MOBILE ONLY (≤880px) so desktop — including /blog —
   keeps Bricks' intended 1100px layout untouched. ========================================================================== */
@media(max-width:880px){
  body.pm #brx-content.wordpress,
  body.pm #brx-content.layout-default,
  body.pm .brxe-container{width:auto !important}
}

/* Single post: RELATED POSTS responsive. Bricks lays them out as a single nowrap
   row (.related-posts{grid-auto-flow:column}) so on mobile they squish into tiny
   columns. Re-flow into 2 / 1 columns, and match the PM Press card style. */
body.single-post .brxe-related-posts{margin:8px 0 56px}
body.single-post .related-posts img{border:1px solid var(--line)}
body.single-post .related-posts h3.dynamic,body.single-post .related-posts .post-content h3{font-family:var(--font-display) !important;font-weight:700;font-size:17px;line-height:1.22;letter-spacing:-.01em;margin-top:10px}
body.single-post .related-posts h3.dynamic a{color:var(--ink)}
body.single-post .related-posts h3.dynamic a:hover{color:var(--red)}
body.single-post .related-posts .post-content .dynamic{font-family:var(--font-narrow);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--red);margin-top:5px}
@media(max-width:880px){
  body.single-post .related-posts{grid-auto-flow:row !important;grid-template-columns:repeat(2,1fr) !important;gap:24px !important}
}
@media(max-width:560px){
  body.single-post .related-posts{grid-template-columns:1fr !important}
}

/* Author pages: multi-photo column rows (.has-3-columns / .has-4-columns share the
   wp-container-core-columns layout that forces flex-wrap:nowrap, so they stayed
   3-4 across on phones). Force them into a 2-col grid (1fr can't overflow). More
   specific than the generic column rules above, so it wins. Photo-grid rows only —
   plain 2-column image|text layouts keep WP's default stack-on-mobile. */
@media(max-width:880px){
  body.pmp-authors #brx-content .wp-block-columns.has-3-columns,
  body.pmp-authors #brx-content .wp-block-columns.has-4-columns{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:14px !important;margin-bottom:14px !important}
  body.pmp-authors #brx-content .wp-block-columns.has-3-columns > .wp-block-column,
  body.pmp-authors #brx-content .wp-block-columns.has-4-columns > .wp-block-column{width:auto !important;min-width:0 !important;max-width:100% !important;flex:none !important;margin:0 !important}
  body.pmp-authors #brx-content .wp-block-columns.has-3-columns img,
  body.pmp-authors #brx-content .wp-block-columns.has-4-columns img{width:100% !important;height:auto}
}
