/* Shared mobile usability layer, loaded after page-specific styles. */
/* Navigation and cards have their own affordances. Prose links receive a
   small chain icon so they remain identifiable without colour or hover. */
body a[href]{text-decoration:none!important}
body a[href]:hover{text-decoration:underline!important;text-underline-offset:.2em}
body a[href]:focus-visible{outline:3px solid currentColor;outline-offset:4px;border-radius:2px}
body a[href]:is(.btn,.pill-btn,.pill,.apply-pill,.pcta,.gf-action,.wire-cover-cta,.brand,.logo,.circle,.icon-btn,.gf-poster,.gf-article-preview,.ed-image,.ed-film-image,.wire-cover-image,.gcard,.rcard,.explore-link){text-decoration:none!important}
body :is(p,li,dd,td) > a[href]:not(:has(img,svg)):not(.btn,.pill,.apply-pill)::after{content:"";display:inline-block;width:.8em;height:.8em;margin-inline-start:.24em;background:currentColor;vertical-align:baseline;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m10 13 4-4M8 16l-1 1a4 4 0 0 1-6-6l5-5a4 4 0 0 1 6 0M16 8l1-1a4 4 0 0 1 6 6l-5 5a4 4 0 0 1-6 0'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
body :is(p,li,dd,td)>a[href]{font-weight:600}
.editorial-history{margin-top:32px;padding:18px 0;border-top:1px solid currentColor}
.editorial-history summary{cursor:pointer;min-height:44px;font-size:14px;line-height:1.6}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #287333;outline-offset:3px}
.mobile-filter-toggle{display:none}
.mobile-filter-toggle[hidden]{display:none}
@media(max-width:940px){
  .mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 16px;border:1px solid #d5dece;border-radius:12px;background:#f4f8f1;color:#204f25;font:600 16px/1.4 system-ui;cursor:pointer}
  .mobile-filter-toggle::after{content:'+';font-size:24px}
  .mobile-filter-toggle[aria-expanded=true]::after{content:'−'}
  .mobile-filter-toggle + .filters[data-mobile-collapsed=true]{display:none}
  .filters{max-height:none!important}
}
@media(max-width:1079px){
  /* 16px avoids input-focus zoom in iOS without disabling user zoom. */
  body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),body select,body textarea{font-size:16px!important;max-width:100%;min-width:0}
  body button,body .btn,body .pill-btn,body .apply-pill,body .opt,body .chip,body .switch,body .reset-all,body .media-toggle .mt{min-height:44px}
  body .burger,body .icon-btn{min-width:44px;min-height:44px;align-items:center;justify-content:center}
  .opt .lb{min-width:0}
  .chip{align-items:center}
  .sidebar{height:100dvh!important;overscroll-behavior:contain}
  .sidebar:not(.open){visibility:hidden}
  .sidebar.open{visibility:visible}
  .sidebar .s-nav a{min-height:44px}
  .mobile-nav-close{display:block;margin:0 0 12px auto;border:1px solid #d5dece;border-radius:8px;background:#fff;color:#204f25;padding:8px 14px;font:600 16px system-ui;cursor:pointer}
  .tabs,.dtabs{flex-wrap:wrap}
  .tabs a,.dtabs a{min-height:44px;display:inline-flex;align-items:center}
  .range{height:44px}
  .range .track{top:20px}
  .range .fill{top:20px}
  .range input[type=range]{top:0;height:44px}
  .range input[type=range]::-webkit-slider-thumb{width:28px;height:28px}
  .range input[type=range]::-moz-range-thumb{width:26px;height:26px}
  .vthumb .play{opacity:1}
}
@media(min-width:1080px){.mobile-nav-close{display:none}}
@media(max-width:600px){
  .search,.searchbar{min-width:0}
  .search input{min-width:0;width:100%}
  .filters .clear{display:inline-flex;align-items:center;min-height:44px}
  .topbar{scroll-margin-top:0}
  :where(h1,h2,h3,p,td,th){overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .sidebar,.s-backdrop,.mobile-filter-toggle{transition:none!important}
}
