/* All visual changes are scoped to this component and its mobile spacer. */
#tlmm { display: none; }
@media screen and (max-width: 991px) {
  #tlmm {
    --tlmm-red: #a8121c;
    --tlmm-paper: #f8f3e8;
    --tlmm-ink: #30251f;
    --tlmm-top: 0px;
    position: fixed;
    top: var(--tlmm-top);
    left: 0;
    right: 0;
    z-index: 99990;
    margin: 0;
    padding: env(safe-area-inset-top, 0px) 0 0;
    background: var(--tlmm-red);
    color: var(--tlmm-ink);
    font: 400 16px/1.4 Arial, Helvetica, sans-serif;
    text-align: left;
    isolation: isolate;
    box-shadow: 0 3px 0 #6e0d13, 0 5px 9px #0003;
    -webkit-text-size-adjust: 100%;
  }
  body.admin-bar #tlmm { --tlmm-top: 32px; }
  #tlmm *, #tlmm *::before, #tlmm *::after { box-sizing: border-box; }
  #tlmm .tlmm-bar {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 64px;
    max-width: 991px;
    margin: 0 auto;
    padding: 7px max(12px, env(safe-area-inset-right, 0px)) 7px max(12px, env(safe-area-inset-left, 0px));
    background: linear-gradient(#ffffff08, #0000000b);
    border-top: 1px solid #ffffff32;
  }
  #tlmm a { text-decoration: none; }
  #tlmm .tlmm-home {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 48px;
    flex-direction: column;
    justify-content: center;
    color: #fff8e8;
    line-height: 1.08;
    text-shadow: 0 1px 0 #650a10;
  }
  #tlmm .tlmm-home strong { font: 900 18px/1.1 'Arial Black', Arial, sans-serif; text-transform: uppercase; letter-spacing: -.4px; }
  #tlmm .tlmm-home > span { margin-top: 3px; font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }
  #tlmm .tlmm-call, #tlmm .tlmm-toggle {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 48px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #f5dec2;
    border-radius: 4px;
    color: var(--tlmm-ink);
    background: var(--tlmm-paper);
    box-shadow: 0 2px 0 #630a10, inset 0 1px 0 #fff;
    font: 700 16px/1 Arial, Helvetica, sans-serif;
    cursor: pointer;
    list-style: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: #00000015;
  }
  #tlmm .tlmm-call { background: #850d15; border-color: #ffffff75; color: #fff8e8; box-shadow: 0 2px 0 #630a10; }
  #tlmm .tlmm-toggle::-webkit-details-marker { display: none; }
  #tlmm .tlmm-toggle::marker { content: ''; }
  #tlmm .tlmm-toggle::after { display: none; }
  #tlmm svg { display: block; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  #tlmm #tlmm-disclosure { position: static; flex: 0 0 auto; margin: 0; padding: 0; border: 0; }
  #tlmm .tlmm-when-open, #tlmm .tlmm-close-icon { display: none; }
  #tlmm #tlmm-disclosure[open] .tlmm-when-closed, #tlmm #tlmm-disclosure[open] .tlmm-menu-icon { display: none; }
  #tlmm #tlmm-disclosure[open] .tlmm-when-open, #tlmm #tlmm-disclosure[open] .tlmm-close-icon { display: block; }
  #tlmm .tlmm-panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: calc(100vh - 68px - var(--tlmm-top) - env(safe-area-inset-top, 0px));
    max-height: calc(100dvh - 68px - var(--tlmm-top) - env(safe-area-inset-top, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px max(12px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
    background-color: var(--tlmm-paper);
    background-image: linear-gradient(115deg, #ffffff55, #e5d5b314);
    border: 1px solid #b7a285;
    border-top: 3px solid #760e15;
    box-shadow: 0 4px 0 #c8b99d, 0 9px 16px #0004;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
  }
  #tlmm nav { display: block; margin: 0; padding: 0; width: auto; }
  #tlmm nav ul { display: block; width: auto; margin: 0; padding: 0; list-style: none; }
  #tlmm nav li { display: block; position: relative; width: auto; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #d6cbb8; }
  #tlmm nav li:last-child { border-bottom: 0; }
  #tlmm nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
    width: auto;
    margin: 0;
    padding: 10px 13px;
    color: var(--tlmm-ink);
    background: transparent;
    border: 0;
    border-radius: 3px;
    font: 700 17px/1.4 Arial, Helvetica, sans-serif;
    text-shadow: none;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #tlmm nav a[aria-current="page"] { color: #8c1018; background: #e9dcc4; box-shadow: inset 4px 0 0 var(--tlmm-red); }
  #tlmm nav a:hover, #tlmm .tlmm-subtoggle:hover { color: #8c1018; background: #ece2cf; }
  #tlmm nav ul ul { margin: 0 0 5px 15px; padding-left: 7px; border-left: 2px solid #cfb998; }
  #tlmm nav ul ul a { font-size: 16px; font-weight: 400; }
  #tlmm .tlmm-has-children > a { padding-right: 62px; }
  #tlmm .tlmm-subtoggle {
    position: absolute;
    right: 0;
    top: 0;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-left: 1px solid #d6cbb8;
    border-radius: 0;
    background: transparent;
    color: var(--tlmm-ink);
    box-shadow: none;
    cursor: pointer;
  }
  #tlmm .tlmm-subtoggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  #tlmm nav ul[hidden] { display: none !important; }
  #tlmm .tlmm-contact { margin-top: 8px; padding: 15px 13px 0; border-top: 2px solid #bda789; }
  #tlmm .tlmm-phone { display: flex; align-items: center; min-height: 48px; color: #94121b; font-size: 22px; font-weight: 800; letter-spacing: .2px; }
  #tlmm .tlmm-address { display: flex; flex-direction: column; justify-content: center; min-height: 52px; color: #504338; font-size: 15px; line-height: 1.5; }
  #tlmm .tlmm-address > span { color: #8c1018; font-size: 14px; font-weight: 700; }
  #tlmm :is(a, summary, button):focus-visible { outline: 3px solid #0068a5; outline-offset: -3px; }
  #tlmm .tlmm-bar > a:focus-visible { outline-color: #fff5a6; }
  #tlmm .tlmm-toggle:active, #tlmm .tlmm-call:active { box-shadow: inset 0 2px 2px #0003; }
}
@media screen and (max-width: 782px) {
  body.admin-bar #tlmm { --tlmm-top: 46px; }
}
@media screen and (max-width: 600px) {
  /* Match the menu's fixed position for signed-in editors; customers have no toolbar. */
  body.tlmm-enabled #wpadminbar { position: fixed; }
}
@media screen and (max-width: 359px) {
  #tlmm .tlmm-bar { gap: 6px; padding-left: 9px; padding-right: 9px; }
  #tlmm .tlmm-home strong { font-size: 16px; }
  #tlmm .tlmm-home > span { font-size: 10px; letter-spacing: .6px; }
  #tlmm .tlmm-call, #tlmm .tlmm-toggle { gap: 5px; padding: 0 9px; }
}
@media print { #tlmm, body.tlmm-enabled::before { display: none !important; } }
