/* Related courses (articles + case studies) */
.yf-rel-courses{margin:2.25rem 0 1rem}
.yf-rel-courses h2{font-size:1.25rem;margin:0 0 14px;color:#2A1540}
.yf-rc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.yf-rc{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid rgba(98,35,166,.18);border-radius:16px;background:#fff;color:#2A1540;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.yf-rc:hover,.yf-rc:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(42,21,64,.14);border-color:#f26722}
.yf-rc-i{width:40px;height:40px;border-radius:12px;background:#f26722;color:#fff;display:grid;place-items:center;font-size:1.05rem}
.yf-rc-t{font-weight:700;line-height:1.3}
.yf-rc-m{margin-top:auto;font-size:.9rem;font-weight:600;color:#c55322}
/* Site search */
.yf-search-btn{background:none;border:0;color:#fff;font-size:1.15rem;cursor:pointer;padding:10px;border-radius:50%;line-height:1}
.yf-search-btn:hover,.yf-search-btn:focus-visible{background:rgba(255,255,255,.16)}
.yf-s-ov{position:fixed;inset:0;background:rgba(42,21,64,.72);z-index:99998;display:none;align-items:flex-start;justify-content:center;padding:8vh 16px 16px}
.yf-s-ov.open{display:flex}
.yf-s-box{width:100%;max-width:640px;background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.4);overflow:hidden;color:#2A1540}
.yf-s-row{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #eee}
.yf-s-row input{flex:1;border:0;outline:0;font:inherit;font-size:1.1rem;color:#2A1540;background:transparent;min-width:0}
.yf-s-x{background:none;border:0;font-size:1.4rem;cursor:pointer;color:#2A1540;padding:4px 8px}
.yf-s-res{max-height:60vh;overflow:auto;margin:0;padding:6px;list-style:none}
.yf-s-res a{display:block;padding:11px 14px;border-radius:12px;text-decoration:none;color:#2A1540}
.yf-s-res a:hover,.yf-s-res a.sel{background:#f4eefb}
.yf-s-res b{display:block}
.yf-s-res small{color:#5b4a6e}
.yf-s-k{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#6223a6;color:#fff;border-radius:6px;padding:2px 7px;margin-right:6px;vertical-align:middle}
.yf-s-none{padding:18px;color:#5b4a6e}

/* ===== Mobile fixes ===== */
html{-webkit-text-size-adjust:100%}
img,video,iframe,svg{max-width:100%}
table{max-width:100%}
@media (max-width:900px){
  /* legal pages: stop the contents list blowing the page wide */
  .legal-layout{grid-template-columns:minmax(0,1fr)!important}
  .legal-layout>*{min-width:0;max-width:100%}
  .legal-toc{max-width:100%;overflow:hidden}
  .legal-toc ol{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .legal-toc a{white-space:nowrap}
  /* open courses: calendar and filters must fit */
  .oc-wrap{grid-template-columns:minmax(0,1fr)!important}
  .oc-wrap>*,.oc-side,.oc-cal-card{min-width:0;max-width:100%!important;width:100%}
  .oc-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .oc-cal-header{gap:6px}
}
@media (max-width:768px){
  body{overflow-x:hidden}
  /* tap targets: 44px minimum */
  .yf-search-btn{min-width:44px;min-height:44px;font-size:1.2rem}
  .announcement-close{min-width:44px;min-height:44px}
  .btn,.cta-btn,.btn-cta,.btn-ghost,.btn-outline{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .oc-cal-nav{min-width:44px;min-height:44px}
  .footer-col a,.footer-more-link{display:flex;align-items:center;min-height:44px}
  .footer-socials a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  nav[aria-label="Primary navigation"] a{min-height:44px}
  .breadcrumb a{display:inline-block;padding:10px 4px}
  .art-tab,.art-view-btn{min-height:44px}
  /* form fields: 16px stops iPhone auto-zoom, 44px high */
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
  input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
  input[type=checkbox],input[type=radio]{min-width:22px;min-height:22px}
  /* small labels: no text under 12px */
  .card-tag,.covenant-kicker,.footer-title,.ab-kicker,.art-badge,.art-thumb-chip{font-size:12px!important}
  /* long words and emails never push the page wide */
  p,li,h1,h2,h3,a{overflow-wrap:anywhere}
  .yf-rc-grid{grid-template-columns:1fr}
  /* cookie banner: compact, thumb-friendly */
  [aria-label="Cookie consent"]{left:10px!important;right:10px!important;bottom:10px!important;padding:14px 16px!important;font-size:14px!important}
  [aria-label="Cookie consent"] button{min-height:44px;flex:1}
  .yf-s-ov{padding:12px}
  .yf-s-row input{font-size:16px}
}
@media (max-width:360px){
  .container{padding-left:14px;padding-right:14px}
  h1{font-size:1.7rem}
}
@media (max-width:1040px){
  #site-header .topbar .yf-search-btn{order:2;margin-left:auto;flex:0 0 auto}
  #site-header .topbar .cta-btn{order:3}
  #site-header .topbar .hamburger{order:4}
}
@media (max-width:400px){
  #site-header .topbar .yf-search-btn{min-width:40px;min-height:44px;padding:8px}
  #site-header .topbar .cta-btn{padding-left:12px;padding-right:12px;font-size:13px}
}
/* Flipbook brochure doesn't work on phones: hide the link there */
@media (max-width:900px){a[data-brochure]{display:none!important}}
