/* TowYo Manufacturers — overview grid + detail. Uses theme design tokens with
   safe fallbacks so it works even if the child theme isn't loaded. */
#tw-mfrs-root{--mline:var(--line2,#D4DAE4)}
#tw-mfrs-root .tw-loading{padding:40px;text-align:center;color:var(--muted,#5C6675)}
#tw-mfrs-root .tw-mfrs-empty{padding:40px;text-align:center;color:var(--muted,#5C6675);border:1px dashed var(--mline);border-radius:12px}
#tw-mfrs-root .tw-mfrs-h{font-family:var(--disp,sans-serif);font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--ink,#0C1016);font-size:26px;margin:0 0 16px}

/* overview grid */
#tw-mfrs-root .tw-mfrs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
#tw-mfrs-root .tw-mcard{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;width:100%;background:#fff;border:1px solid var(--mline);border-radius:14px;padding:18px;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;font:inherit}
#tw-mfrs-root .tw-mcard:hover{border-color:var(--navy2,#2E5AA8);box-shadow:0 10px 28px rgba(22,49,94,.10);transform:translateY(-2px)}
#tw-mfrs-root .tw-mcard-logo{width:100%;height:80px;display:flex;align-items:center;justify-content:flex-start}
#tw-mfrs-root .tw-mcard-body{flex:1}
#tw-mfrs-root .tw-mlogo{max-height:72px;max-width:180px;object-fit:contain;display:block}
#tw-mfrs-root .tw-mlogo.lg{max-height:112px;max-width:240px}
#tw-mfrs-root .tw-mono{width:64px;height:64px;border-radius:12px;background:var(--navy,#16315E);color:#fff;display:flex;align-items:center;justify-content:center;font:800 30px/1 var(--disp,sans-serif)}
#tw-mfrs-root .tw-mono.lg{width:96px;height:96px;font-size:44px;border-radius:16px}
#tw-mfrs-root .tw-mname{font:700 18px/1.2 var(--disp,sans-serif);text-transform:uppercase;color:var(--ink,#0C1016)}
#tw-mfrs-root .tw-mtag{color:var(--navy2,#2E5AA8);font-size:13.5px;margin-top:3px;line-height:1.4}
#tw-mfrs-root .tw-mtag.big{font-size:16px;margin-top:6px}
#tw-mfrs-root .tw-mchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#tw-mfrs-root .tw-mchip{font:600 11px/1 var(--mono,monospace);text-transform:uppercase;letter-spacing:.04em;color:var(--navy,#16315E);background:var(--paper,#F4F6F9);border:1px solid var(--mline);border-radius:20px;padding:6px 10px}
#tw-mfrs-root .tw-mchip.feat{color:#fff;background:var(--go,#1F8A4C);border-color:transparent}
#tw-mfrs-root .tw-mview{color:var(--torch,#E0231F);font-weight:700;font-size:13px;margin-top:2px}

/* detail */
#tw-mfrs-root .tw-mback{background:none;border:0;color:var(--navy2,#2E5AA8);font:700 13px/1 var(--body,sans-serif);cursor:pointer;padding:4px 0;margin-bottom:14px}
#tw-mfrs-root .tw-mback:hover{text-decoration:underline}
#tw-mfrs-root .tw-mhero{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;background:#fff;border:1px solid var(--mline);border-radius:16px;padding:24px}
#tw-mfrs-root .tw-mhero-logo{flex:none}
#tw-mfrs-root .tw-mhero-body{flex:1;min-width:240px}
#tw-mfrs-root .tw-mtitle{font:700 30px/1 var(--disp,sans-serif);text-transform:uppercase;color:var(--ink,#0C1016);margin:0}
#tw-mfrs-root .tw-mblurb{color:var(--ink,#0C1016);line-height:1.6;margin:14px 0 0;max-width:62ch}
#tw-mfrs-root .tw-mlink{display:inline-block;margin-top:14px;color:var(--navy2,#2E5AA8);font-weight:600;text-decoration:none}
#tw-mfrs-root .tw-mlink:hover{text-decoration:underline}
#tw-mfrs-root .tw-msizes{margin-top:26px}
#tw-mfrs-root .tw-msizes h3{font:700 18px/1 var(--disp,sans-serif);text-transform:uppercase;letter-spacing:.02em;color:var(--ink,#0C1016);margin:0 0 12px}
#tw-mfrs-root .tw-msize-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
#tw-mfrs-root .tw-msize{display:flex;flex-direction:column;gap:3px;border:1px solid var(--mline);border-radius:10px;padding:12px 14px;text-decoration:none;background:#fff;transition:border-color .15s,background .15s}
#tw-mfrs-root .tw-msize:hover{border-color:var(--navy2,#2E5AA8);background:var(--paper,#F4F6F9)}
#tw-mfrs-root .tw-msize .nm{font-weight:700;color:var(--ink,#0C1016);font-size:14px}
#tw-mfrs-root .tw-msize .pr{font:600 12px/1 var(--mono,monospace);color:var(--go,#1F8A4C)}
#tw-mfrs-root .tw-mcta{display:inline-block;margin-top:24px;background:var(--torch,#E0231F);color:#fff;text-decoration:none;font:700 15px/1 var(--body,sans-serif);padding:14px 22px;border-radius:10px}
#tw-mfrs-root .tw-mcta:hover{filter:brightness(.94)}
@media(max-width:560px){#tw-mfrs-root .tw-mhero{padding:18px}#tw-mfrs-root .tw-mtitle{font-size:24px}}
