/* Desktop defaults */
.torque-mobile-phone-bar,
.torque-mobile-top-spacer,
.torque-mobile-sticky-top,
.torque-mobile-menu-toggle,
.torque-mobile-facebook,
.torque-mobile-drawer,
.torque-mobile-drawer-overlay{
  display:none;
}

@media (max-width:900px){
  :root{
    --torque-phone-bar-h:2.75rem;
  }

  html, body{
    overflow-x:clip;
  }

  /* Single fixed stack: phone + logo bar */
  .torque-mobile-sticky-top{
    display:block;
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:10040;
    width:100%;
    background:#111111;
  }
  body.admin-bar .torque-mobile-sticky-top{
    top:46px;
  }

  .torque-mobile-top-spacer{
    display:block;
    width:100%;
    height:7.25rem; /* fallback until JS measures */
    flex-shrink:0;
  }

  .torque-mobile-phone-bar{
    display:block;
    position:relative;
    height:var(--torque-phone-bar-h);
    background:#C40808;
    border-bottom:2px solid #F8F728;
  }
  .torque-mobile-phone-bar__link{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    width:100%;
    color:#FFFFFF!important;
    font-family:Manrope,sans-serif;
    font-size:1rem;
    font-weight:700;
    letter-spacing:0.02em;
    text-decoration:none!important;
  }
  .torque-mobile-phone-bar__link:hover,
  .torque-mobile-phone-bar__link:focus-visible{
    color:#F8F728!important;
    outline:none;
  }

  .torque-mobile-sticky-top header.wp-block-template-part{
    position:relative!important;
    top:auto!important;
    margin:0!important;
    width:100%;
    background:#111111;
  }

  .torque-site-header.wp-block-group{
    position:relative!important;
    display:grid!important;
    grid-template-columns:2.75rem 1fr 2.75rem!important;
    align-items:center!important;
    justify-items:center!important;
    gap:0.5rem!important;
    min-height:4.5rem!important;
    row-gap:0!important;
    padding-top:0.55rem!important;
    padding-bottom:0.55rem!important;
    width:100%;
    background:#111111;
  }

  .torque-site-header .torque-header-left,
  .torque-site-header .torque-header-right{
    display:none!important;
  }

  .torque-header-logo{
    grid-column:2;
    grid-row:1;
    justify-self:center!important;
  }
  .torque-site-header .wp-block-site-logo img{
    height:52px!important;
    max-height:52px!important;
  }

  .torque-mobile-menu-toggle,
  .torque-mobile-facebook{
    display:inline-flex;
    position:relative;
    z-index:2;
    width:2.75rem;
    height:2.75rem;
    align-items:center;
    justify-content:center;
    border:1px solid #F8F728;
    border-radius:8px;
    background:#111111;
    color:#F8F728;
    cursor:pointer;
    padding:0;
    text-decoration:none;
    box-sizing:border-box;
  }
  .torque-mobile-menu-toggle{
    grid-column:1;
    grid-row:1;
    justify-self:start;
  }
  .torque-mobile-facebook{
    grid-column:3;
    grid-row:1;
    justify-self:end;
  }
  .torque-mobile-facebook__icon{
    display:block;
    width:1.35rem;
    height:1.35rem;
    background-color:#F8F728;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.886v2.24h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.886v2.24h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .torque-mobile-facebook:hover,
  .torque-mobile-facebook:focus-visible,
  .torque-mobile-menu-toggle:hover,
  .torque-mobile-menu-toggle:focus-visible{
    background:#1a1a1a;
    outline:2px solid #F8F728;
    outline-offset:2px;
  }
  .torque-mobile-facebook:hover .torque-mobile-facebook__icon,
  .torque-mobile-facebook:focus-visible .torque-mobile-facebook__icon{
    background-color:#FFFFFF;
  }

  .torque-mobile-menu-toggle__bars,
  .torque-mobile-menu-toggle__bars::before,
  .torque-mobile-menu-toggle__bars::after{
    display:block;
    width:1.15rem;
    height:2px;
    background:#F8F728;
    border-radius:1px;
    position:relative;
  }
  .torque-mobile-menu-toggle__bars::before,
  .torque-mobile-menu-toggle__bars::after{
    content:"";
    position:absolute;
    left:0;
  }
  .torque-mobile-menu-toggle__bars::before{top:-6px;}
  .torque-mobile-menu-toggle__bars::after{top:6px;}
  .torque-mobile-menu-toggle[aria-expanded="true"] .torque-mobile-menu-toggle__bars{
    background:transparent;
  }
  .torque-mobile-menu-toggle[aria-expanded="true"] .torque-mobile-menu-toggle__bars::before{
    top:0;
    transform:rotate(45deg);
  }
  .torque-mobile-menu-toggle[aria-expanded="true"] .torque-mobile-menu-toggle__bars::after{
    top:0;
    transform:rotate(-45deg);
  }

  .torque-mobile-drawer-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:10050;
    background:rgba(17,17,17,0.62);
  }
  .torque-mobile-drawer-overlay[hidden]{
    display:none!important;
  }

  .torque-mobile-drawer{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;
    right:0;
    z-index:10060;
    width:min(100%,20.5rem);
    height:100%;
    height:100dvh;
    background:#111111;
    color:#FFFFFF;
    padding:calc(var(--torque-phone-bar-h) + 0.75rem) 1.25rem 1.5rem;
    box-shadow:-12px 0 32px rgba(17,17,17,0.45);
    overflow:auto;
    font-family:Manrope,sans-serif;
  }
  body.admin-bar .torque-mobile-drawer{
    padding-top:calc(var(--torque-phone-bar-h) + 46px + 0.75rem);
  }
  .torque-mobile-drawer[hidden]{
    display:none!important;
  }

  .torque-mobile-drawer__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:1rem;
    padding-bottom:0.75rem;
    border-bottom:3px solid #F8F728;
  }
  .torque-mobile-drawer__title{
    margin:0;
    font-size:1.1rem;
    font-weight:700;
    color:#FFFFFF;
  }
  .torque-mobile-drawer__close{
    border:0;
    background:transparent;
    color:#FFFFFF;
    font-size:2rem;
    line-height:1;
    cursor:pointer;
    padding:0 0.25rem;
  }
  .torque-mobile-drawer__close:hover,
  .torque-mobile-drawer__close:focus-visible{
    color:#F8F728;
    outline:none;
  }

  .torque-mobile-drawer__list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:0.15rem;
  }
  .torque-mobile-drawer__item a,
  .torque-mobile-drawer__item > span{
    display:block;
    padding:0.7rem 0.15rem;
    color:#FFFFFF;
    text-decoration:none;
    font-size:1.05rem;
    font-weight:600;
    line-height:1.25;
  }
  .torque-mobile-drawer__item a:hover,
  .torque-mobile-drawer__item a:focus-visible{
    color:#F8F728;
    outline:none;
  }
  .torque-mobile-drawer__item.is-parent > span,
  .torque-mobile-drawer__item.is-parent > a{
    color:#F8F728;
    font-weight:700;
  }
  .torque-mobile-drawer__item.depth-1 a,
  .torque-mobile-drawer__item.depth-1 > span{
    padding-left:1rem;
    font-size:0.98rem;
    font-weight:500;
    color:#F4F4F4;
  }
  .torque-mobile-drawer__item.depth-2 a{
    padding-left:1.75rem;
    font-size:0.95rem;
  }
}

@media screen and (max-width:782px){
  body.admin-bar .torque-mobile-sticky-top{
    top:46px;
  }
}

@media screen and (min-width:783px) and (max-width:900px){
  body.admin-bar .torque-mobile-sticky-top{
    top:32px;
  }
  body.admin-bar .torque-mobile-drawer{
    padding-top:calc(var(--torque-phone-bar-h) + 32px + 0.75rem);
  }
}
