/* Oakville Lock & Key — shared additions for every page (loaded right after style.db97dd058b97).
   The owner's site-wide rules of 2026-09-27: "Request a visit" everywhere, 24/7 and years in
   business in the chrome, the four main categories in the menus (car keys last and smaller),
   the address field in forms, and ONE header treatment for every page without the home video.
   Nothing here may scroll sideways: every flex/grid child that holds text has min-width: 0. */

/* ------------------------------------------------------------------ inner pages: solid paper header
   The home page opens on a dark video, so its header starts transparent with light text.
   Every other page opens on paper, so on phones and tablets the header starts solid. */
@media (max-width: 1023.98px) {
  body:not(:has(.gt906daacf73)) .fya29f1dbc43 {
    color: var(--cw0ac64388e3);
    background: color-mix(in srgb, var(--nx57f61af3f4) 94%, transparent);
    -webkit-backdrop-filter: blur(14px) saturate(1.3);
    backdrop-filter: blur(14px) saturate(1.3);
    box-shadow: 0 1px 0 var(--kw04c88bba69);
  }
  body:not(:has(.gt906daacf73)) .fya29f1dbc43::before { opacity: 0; }
  body:not(:has(.gt906daacf73)) .cw1373e60cce { background: transparent; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cw0ac64388e3) 24%, transparent); }
  body:not(:has(.gt906daacf73)) .cw1373e60cce:hover { background: var(--fya7157f34a3); }
  body:not(:has(.gt906daacf73)) .kw19fa0f24d1 .ble1dbdb9e29 { color: var(--rp390944733f); }
}

/* ------------------------------------------------------------------ header: 24/7 */
/* phones: a small "Open 24/7" tag between the wordmark and the menu button */
.jd6d7f5d65bd {
  flex: none;
  display: inline-flex; align-items: center; gap: 5px;
  min-height: 32px; padding: 0 10px 0 8px; border-radius: 999px;
  font: 700 .8125rem/1 var(--ezc1b721f72e); letter-spacing: .01em; font-variant-numeric: tabular-nums;
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, currentColor 38%, transparent);
}
.jd6d7f5d65bd .ble1dbdb9e29 { width: 15px; height: 15px; color: var(--qs2c99a0cbb6); }
.bl4ef30f3e8d .jd6d7f5d65bd .ble1dbdb9e29, body:not(:has(.gt906daacf73)) .jd6d7f5d65bd .ble1dbdb9e29 { color: var(--rp390944733f); }
/* Measured widths (2026-09-27): the wordmark needs ~134px. "Open" shows only from 400px; below 360px
   the clock goes and the header gaps tighten, so the wordmark never wraps down to 320px. */
@media (max-width: 399.98px) { .pn3d62d57d68 { display: none; } }
@media (max-width: 359.98px) {
  .jd6d7f5d65bd { padding: 0 8px; gap: 0; }
  .jd6d7f5d65bd .ble1dbdb9e29 { display: none; }
  .fycef612fb3a { gap: 10px; }
  .smbc82c4c54a { gap: 6px; }
  .cw1373e60cce { padding: 0 10px 0 8px; }
}
@media (min-width: 768px) { .jd6d7f5d65bd { display: none; } }
/* tablet and desktop: "Open 24/7" sits under the phone number, so the header does not get wider */
.smdd6eef1650 { display: grid; gap: 3px; min-width: 0; }
.ao1f3a6fac75 { line-height: 1; }
.aoce7c3130c8 { font: 650 .6875rem/1 var(--ezc1b721f72e); letter-spacing: .1em; text-transform: uppercase; color: var(--tvd64b36dbc0); }
.fya29f1dbc43:not(.bl4ef30f3e8d) .aoce7c3130c8 { color: inherit; opacity: .8; }
body:not(:has(.gt906daacf73)) .fya29f1dbc43 .aoce7c3130c8 { color: var(--rp390944733f); opacity: 1; }
@media (min-width: 1024px) { .fya29f1dbc43 .aoce7c3130c8 { color: var(--rp390944733f); opacity: 1; } }

/* ------------------------------------------------------------------ desktop mega-menu: four main categories, then "Also" */
@media (min-width: 1024px) {
  .md79e18618a3 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 28px; padding: 26px 0 26px; }
  .md45d77a1abe {
    grid-column: 1 / -1; min-width: 0;
    display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1.3fr); gap: 0 28px; align-items: start;
    padding-top: 16px; border-top: 1px solid var(--rp07702d249c);
  }
  .ly3ab32a1fdb { margin: 2px 0 0; font: 650 .6875rem/1.2 var(--ezc1b721f72e); letter-spacing: .12em; text-transform: uppercase; color: var(--jd62aad3d520); }
  .ezf0e64b449f .pn8c1cc70bcc { margin: 0 0 4px; padding-bottom: 0; border-bottom: 0; }
  .ezf0e64b449f .pn8c1cc70bcc a { font-size: 1rem; }
  .ezf0e64b449f ul { display: flex; flex-wrap: wrap; gap: 0 16px; }
  .ezf0e64b449f li { min-width: 0; }
  .ezf0e64b449f ul a { min-height: 32px; padding: 4px 8px; margin-inline: -8px; font-size: .875rem; }
  .vhaf748935f4 { margin: 2px 0 0; font-size: .875rem; line-height: 1.45; color: var(--jd62aad3d520); min-width: 0; }
  .vhaf748935f4 a { color: var(--kwec49d77425); font-weight: 650; text-decoration: underline; text-decoration-color: var(--ir96b6db450d); text-underline-offset: .2em; }
}
@media (min-width: 1200px) { .md79e18618a3 { gap: 24px 36px; } }

/* ------------------------------------------------------------------ phone menu */
.jd6b97b1855a summary { grid-template-columns: minmax(0, 1fr) 24px; }
.mdfa1ceb956a { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 2px 0 0; font-size: .9375rem; color: var(--gt7a7a88d293); }
.mdfa1ceb956a .ble1dbdb9e29 { width: 18px; height: 18px; color: var(--tvd64b36dbc0); flex: none; }
.rp54e42df5c6 { margin: 18px 0 0; font: 650 .75rem/1.2 var(--ezc1b721f72e); letter-spacing: .12em; text-transform: uppercase; color: var(--jd62aad3d520); }
.rpbb6c56eda5 summary { min-height: 52px; font-size: 1.125rem; }

/* ------------------------------------------------------------------ footer: 24/7 and years in business */
/* contain: inline-size keeps this line from widening the call column (it would squeeze the big sign) */
.ao84d06568b6 { flex-basis: 100%; contain: inline-size; display: flex; align-items: center; gap: 8px; margin: 0; color: var(--ezcabb2762a8); font-size: .9375rem; }
.ao84d06568b6 .ble1dbdb9e29 { width: 18px; height: 18px; color: var(--qs2c99a0cbb6); flex: none; }
.ao84d06568b6 b { color: var(--nxb2097dc064); }
.aoe39edc53b6 { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 12px; }
.aoe39edc53b6 li { min-width: 0; color: var(--ezcabb2762a8); }
.aoe39edc53b6 b { color: var(--qs2c99a0cbb6); font-weight: 700; }
@media (min-width: 1024px) {
  .mdee2da4b88a { justify-content: flex-end; }
  .ao84d06568b6 { justify-content: flex-end; }
}

/* ------------------------------------------------------------------ forms: the optional label, the dock at narrow widths */
.jd2a3dbb31d2 { font-weight: 500; color: var(--jd62aad3d520); }
@media (max-width: 359.98px) { .pn4632c1f4c7 .ux6c43e265ab { padding: 0 10px; font-size: .9375rem; } }
/*9ddeeddd12bb*/
