/* ==========================================================================
   Made in Stoke — shared site stylesheet
   Prototype of the single enqueued stylesheet for the WordPress child theme.
   Holds only what theme.json / block attributes cannot express:
     1. interaction states (hover / focus-visible)
     2. the Backstamp device (serif face, rotation)
   Layout, colour, type and spacing belong to theme.json + block patterns.
   Note: prototype markup carries inline styles, so state rules use
   !important to win. In production (theme.json + classes) drop !important.
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:wght@400;700&display=swap");

/* 1. Interaction states ---------------------------------------------------- */
:focus-visible { outline: 2px solid #3A6297; outline-offset: 2px; }

/* Nav pill items */
.mis-nav-link:hover, .mis-nav-link:focus-visible { background: rgba(27,26,24,.06) !important; }
/* Mega-menu links, mobile accordion rows */
.mis-soft:hover, .mis-soft:focus-visible { background: rgba(27,26,24,.05) !important; }

/* Buttons — one system site-wide (no inline styles on buttons)
   Geometry is identical for every variant: rounded rectangle, 16px radius,
   52px min-height, 28px horizontal padding, 16px / 600 Archivo.
   primary   : orange fill, white text   — the main action in a section
   secondary : ink outline on paper/transparent — alternative / lower-priority action
   ink       : ink fill, white text             — primary action on an orange field
   give      : red fill                         — Give and major conversion only
   on-dark   : white outline                    — secondary action on blue / ink fields
   sm        : compact share-row size (not for page actions)
   Nav pill Join/Give are part of the approved nav and keep their pill shape.   */
.mis-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 28px; font-family:inherit; font-size:16px; font-weight:600; line-height:1.2; text-align:center; text-decoration:none; border-radius:16px; border:1.5px solid transparent; cursor:pointer; transition:none; }
.mis-btn:hover, .mis-btn:focus-visible { transition:background .2s ease, color .2s ease, border-color .2s ease; }
.mis-btn-sm { min-height:40px; padding:0 16px; font-size:14px; }
.mis-btn-primary { background:#F36D36; border-color:#F36D36; color:#fff; }
.mis-btn-primary:hover, .mis-btn-primary:focus-visible { background:#1B1A18; border-color:#1B1A18; color:#fff; }
.mis-btn-secondary { background:transparent; border-color:#1B1A18; color:#1B1A18; }
.mis-btn-secondary:hover, .mis-btn-secondary:focus-visible { background:#1B1A18; color:#fff; }
.mis-btn-ink { background:#1B1A18; border-color:#1B1A18; color:#fff; }
.mis-btn-ink:hover, .mis-btn-ink:focus-visible { background:#FBFAF7; border-color:#1B1A18; color:#1B1A18; }
.mis-btn-give { background:#DE3B2B; border-color:#DE3B2B; color:#fff; }
.mis-btn-give:hover, .mis-btn-give:focus-visible { background:#C22F21; border-color:#C22F21; color:#fff; }
.mis-btn-on-dark { background:transparent; border-color:#fff; color:#fff; }
.mis-btn-on-dark:hover, .mis-btn-on-dark:focus-visible { background:#fff; color:#1B1A18; }
.mis-btn-primary:hover, .mis-btn-secondary:hover, .mis-btn-ink:hover, .mis-btn-give:hover, .mis-btn-on-dark:hover { text-decoration:none; }
/* Nav pill Join/Give keep their approved classes below (nav unchanged) */
.mis-btn-join:hover, .mis-btn-join:focus-visible { background: #1B1A18 !important; color: #fff !important; }
.mis-btn-give-nav:hover, .mis-btn-give-nav:focus-visible { background: #C22F21 !important; border-color: #C22F21 !important; }

/* Links */
.mis-text-link:hover, .mis-text-link:focus-visible { opacity: .65; }
.mis-link-ink:hover, .mis-link-ink:focus-visible { color: #1B1A18 !important; }
.mis-footer-link:hover, .mis-footer-link:focus-visible { color: #fff !important; }

/* Focus on dark fields stays visible */
.mis-footer-link:focus-visible, .mis-btn-on-dark:focus-visible { outline-color: #fff; }

/* 2. Backstamp device ------------------------------------------------------ */
/* Libre Caslon Text is used ONLY inside backstamp SVGs. Site type stays Archivo.
   Stamps are generated by mis-backstamp.js. Only a signature stamp may carry .mis-stamp-spin (max one per page). */
.mis-stamp-spin { transform-box: fill-box; transform-origin: center; animation: mis-stamp-spin 120s linear infinite; }
@keyframes mis-stamp-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .mis-stamp-spin { animation: none; }
}

/* Shared content measure and page gutters. Full-width colour/photo bands stay full bleed. */
:root{--mis-content-width:1060px;--mis-gutter:clamp(18px,4vw,64px);--content-max:1060px;--wide:min(1060px,100%)}
.pushed-chapter,.pushed-hero,footer.site.pushed-footer{padding-left:var(--mis-gutter);padding-right:var(--mis-gutter)}
.pushed-give__sticky{padding-left:var(--mis-gutter);padding-right:var(--mis-gutter)}
main>[data-screen-label]{padding-left:var(--mis-gutter)!important;padding-right:var(--mis-gutter)!important}
main>[data-screen-label]>div[style*="max-width"]{max-width:var(--mis-content-width)!important;margin-left:auto!important;margin-right:auto!important}
.mis-shirt-mask{overflow:hidden;transform:none;isolation:isolate}
.mis-shirt-mask::before{display:none}
.mis-shirt-mask img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center top;display:block}

/* Partner marks: equal square frames, original artwork proportions and clear space. */
.mis-partner-logo{display:grid;place-items:center;width:104px;height:104px;aspect-ratio:1;flex:0 0 104px;padding:14px;background:#fff;border:1px solid #E6E3DB;border-radius:18px;box-shadow:0 3px 12px rgba(27,26,24,.035);overflow:hidden}
.mis-partner-logo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.mis-partner-logo--pending{border-style:dashed;box-shadow:none;color:#77736b;font-size:11px;font-weight:500;line-height:1.4;text-align:center;letter-spacing:0;text-transform:none}
.partner-name{gap:20px;font-size:clamp(17px,1.65vw,23px);line-height:1.25;min-width:0}
.partner-name>span:last-child{min-width:0;overflow-wrap:anywhere}
.partner-grid.supporting .mis-partner-logo{width:88px;height:88px;flex-basis:88px;padding:12px;border-radius:16px}
.mis-partner-supporter{display:flex;align-items:center;gap:18px;min-width:0}
@media(max-width:600px){.partner-grid{grid-template-columns:1fr}.partner-name:nth-child(odd){padding-right:0;border-right:0}.partner-name:nth-child(even){padding-left:0}.partner-name .mis-partner-logo{width:88px;height:88px;flex-basis:88px}.partner-name{gap:18px}}

article>div[style*="grid-template-columns:104px"]{align-self:flex-start}
