/* ===========================================================================
   SMS Speedway — shared styling for the standalone legal pages
   (SMSSpeedwayTermsAndConditions.html, SMSSpeedwayPrivacyPolicy.html)
   Added 2026-08-24.

   Same-origin only, no CDN: a legal page must not render unstyled because a
   third-party CDN is down. If this file cannot be served, neither can the
   page that references it.
   =========================================================================== */
:root{
  --blue:#00a7df; --blue-light:#34ccfb; --ink:#1d1f21; --muted:#5a6570;
  --rule:#e3e7ea; --bg:#ffffff; --band:#f5f8fa; --link:#0b7fae; --link-hover:#065b7d;
  --font:"Nunito","Helvetica Neue",Helvetica,Arial,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
     font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}

/* White masthead to match the site navbar — the SMS Speedway logo is a light
   mark and is illegible on the brand blue gradient. */
.masthead{background:#fff;padding:.9rem 0;border-bottom:3px solid var(--blue);
          box-shadow:0 2px 4px rgba(0,0,0,.04)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.masthead a.brand{display:inline-block}
.masthead img{height:58px;width:auto;display:block}
.masthead a.back{color:var(--link);text-decoration:none;font-weight:700;font-size:.95rem;
                 border:1px solid #bfe4f2;border-radius:4px;padding:.4rem .9rem}
.masthead a.back:hover,.masthead a.back:focus{background:#eaf7fc;color:var(--link-hover)}

.wrap{max-width:52rem;margin:0 auto;padding:0 1.15rem}

h1{font-size:clamp(1.75rem,6vw,2.5rem);line-height:1.15;margin:2rem 0 .35rem;letter-spacing:-.01em}
.sub{color:var(--muted);margin:0 0 2rem;font-size:.95rem}

h2{font-size:clamp(1.15rem,4.2vw,1.45rem);line-height:1.25;margin:2.75rem 0 .85rem;
   padding-bottom:.4rem;border-bottom:2px solid var(--blue)}
h3{font-size:1.02rem;margin:1.75rem 0 .4rem;color:var(--blue);font-weight:700}
h3 .num{color:var(--muted);font-weight:700;margin-right:.35rem}

p{margin:0 0 1rem}
ul{margin:0 0 1rem;padding-left:1.35rem}
li{margin-bottom:.5rem}
dl{margin:0 0 1rem}
dt{font-weight:700;margin-top:1rem}
dd{margin:.15rem 0 0;padding-left:0}
a{color:var(--link)}
a:hover,a:focus{color:var(--link-hover)}
.lead{font-size:1.05rem}

/* Numbered clauses. The source documents number their paragraphs explicitly
   (1..39), so the numbers are written out as text rather than generated by
   the browser — auto-numbering could silently drift from the source. */
.clause{display:flex;gap:.6rem;margin:0 0 1rem}
.clause .cn{flex:0 0 auto;min-width:1.9rem;font-weight:700;color:var(--muted)}
.clause .ct{flex:1 1 auto}
.subclauses{list-style:none;margin:.35rem 0 1rem;padding-left:2.5rem}
.subclauses li{display:flex;gap:.6rem;margin-bottom:.45rem}
.subclauses .cn{flex:0 0 auto;min-width:1.4rem;font-weight:700;color:var(--muted)}

/* Tables (cookie schedules) scroll inside their own box rather than widening
   the page. */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.25rem}
table{border-collapse:collapse;width:100%;min-width:22rem;font-size:.95rem}
th,td{border:1px solid var(--rule);padding:.6rem .7rem;text-align:left;vertical-align:top}
th{background:var(--band);font-weight:700}

.note{background:var(--band);border-left:4px solid var(--blue);border-radius:0 6px 6px 0;
      padding:1rem 1.15rem;margin:2.5rem 0 0}
.note strong{display:block;margin-bottom:.25rem}
.version{margin:1.75rem 0 0;color:var(--muted);font-size:.85rem;text-align:right}

.sitefoot{margin-top:3rem;border-top:1px solid var(--rule);background:var(--band);
          padding:1.5rem 0;font-size:.85rem;color:var(--muted);text-align:center}
.sitefoot a{color:var(--muted)}

@media only screen and (max-width:575.98px){
  body{font-size:16px}
  .wrap{padding:0 1rem}
  ul{padding-left:1.15rem}
  .masthead img{height:44px}
  .subclauses{padding-left:1.5rem}
  .clause .cn{min-width:1.6rem}

  /* Two-column cookie tables are unreadable squeezed into ~288px, and
     side-scrolling a table is a poor phone experience. Stack each row into a
     labelled block instead: first cell becomes the heading, second the body. */
  .tablewrap{overflow-x:visible}
  table{min-width:0;border:0}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
        white-space:nowrap}          /* header text kept for screen readers */
  tbody,tr,td{display:block;width:auto}
  tr{border:1px solid var(--rule);border-radius:6px;margin-bottom:.85rem;overflow:hidden}
  td{border:0;padding:.65rem .8rem}
  td:first-child{background:var(--band);font-weight:700;border-bottom:1px solid var(--rule)}
}
