.ws-header{
  position:absolute;
  top:0;
  left:0;
  z-index:20;
  width:100%;
  background:transparent;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}

.ws-header__container{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  width:100%;
  padding-top:1.25rem;
  pointer-events:auto;
}

.ws-header__logo{
  display:flex;
  align-items:center;
  height:3.375rem;
  margin-left:2.5rem;
  text-decoration:none;
  transition:opacity .25s ease;
}

.ws-header__logo img{
  display:block;
  width:auto;
  height:2.625rem;
}

.ws-header__actions{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  gap:.75rem;
  height:3.375rem;
  margin-right:2.5rem;
  padding:0 1.125rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:0 1rem 0 1rem;
  background:
    radial-gradient(circle at 14% 42%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 32%),
    radial-gradient(circle at 88% 22%, rgba(176,94,38,.18) 0%, rgba(176,94,38,0) 28%),
    linear-gradient(135deg, rgba(17,18,24,.88) 0%, rgba(17,18,24,.72) 100%);
  box-shadow:
    0 .875rem 2rem rgba(0,0,0,.34),
    inset 0 .0625rem 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(.75rem) saturate(140%);
  backdrop-filter:blur(.75rem) saturate(140%);
}

.ws-header__actions::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  opacity:.55;
  pointer-events:none;
}

.ws-header__actions:hover{
  background:
    radial-gradient(circle at 14% 42%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 32%),
    radial-gradient(circle at 88% 22%, rgba(176,94,38,.22) 0%, rgba(176,94,38,0) 28%),
    linear-gradient(135deg, rgba(17,18,24,.92) 0%, rgba(17,18,24,.78) 100%);
  box-shadow:
    0 1rem 2.125rem rgba(0,0,0,.36),
    inset 0 .0625rem 0 rgba(255,255,255,.06);
}

.ws-header__action{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center;
  gap:.5625rem;
  min-width:2.75rem;
  height:2.25rem;
  padding:0 .625rem;
  border:0;
  border-radius:.5rem;
  background:transparent;
  color:#f5f1e8;
  text-decoration:none;
  cursor:pointer;
  transition:background .12s ease, transform .12s ease, border-color .12s ease;
  white-space:nowrap;
}

.ws-header__action:hover{
  background:rgba(255,255,255,.08);
  transform:translateY(-.0625rem);
}

.ws-header__action-icon{
  display:block;
  flex:0 0 1.125rem;
  width:1.125rem;
  height:1.125rem;
  object-fit:contain;
  filter:drop-shadow(0 .0625rem .0625rem rgba(0,0,0,.06));
}

.ws-header__action-text{
  display:inline-flex !important;
  align-items:center !important;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:.9375rem;
  line-height:1.05 !important;
  font-weight:400;
  color:inherit;
  margin:0 !important;
  padding:0 !important;
  vertical-align:middle;
}

.ws-header__action-text b{
  font-weight:700;
  line-height:1.05 !important;
}

.ws-header__action-label{
  display:inline;
}

.ws-header__action-subtitle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center;
  margin:.0 0 0 .375rem !important;
  padding:0 !important;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:.9375rem !important;
  line-height:1.05 !important;
  font-weight:700;
  color:inherit;
  white-space:nowrap;
  vertical-align:middle;
}

.ws-header small.ws-header__action-subtitle,
.ws-header .bar-sub{
  margin:0 0 0 .375rem !important;
  padding:0 !important;
  font-size:.9375rem !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}

.ws-header__action--icon-only{
  gap:.4375rem;
}

.ws-header__action--icon-only .ws-header__action-text{
  font-size:1rem;
  line-height:1.6875rem;
  font-weight:700;
}

.ws-header__action--menu{
  min-width:4.875rem;
  padding:0 .875rem;
  border:1px solid rgba(243,200,71,.18);
  background:linear-gradient(180deg, rgba(243,200,71,.18), rgba(243,200,71,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  color:#f3c847;
}

.ws-header__action--menu:hover{
  background:linear-gradient(180deg, rgba(243,200,71,.24), rgba(243,200,71,.12));
  border-color:rgba(243,200,71,.28);
}

.ws-header__action--menu .ws-header__action-text{
  font-weight:700;
  color:inherit;
}

.ws-header__action--menu .ws-header__action-icon{
  filter:brightness(0) saturate(100%) invert(88%) sepia(32%) saturate(1245%) hue-rotate(328deg) brightness(99%) contrast(91%);
}

.ws-header__action--rating,
.bar-item--gm,
.bar-item--tp{
  pointer-events:none;
  cursor:default;
}

.ws-header__logo.ws-hide-logo{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.ws-header,
.ws-header__actions,
.ws-header__actions *{
  color:#f5f1e8;
}

.ws-menu{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}

.ws-menu[aria-hidden="false"]{
  display:block;
}

.ws-menu__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.32);
  -webkit-backdrop-filter:saturate(1.2) blur(.375rem);
  backdrop-filter:saturate(1.2) blur(.375rem);
}

.ws-menu__sheet{
  position:absolute;
  top:1rem;
  left:50%;
  width:min(78.75rem, calc(100% - 1.25rem));
  transform:translateX(-50%);
}

.ws-menu__top{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin:0 .625rem .625rem;
  padding:.625rem .75rem;
  border-radius:1.125rem;
  background:#fff;
  box-shadow:0 .5rem 1.875rem rgba(0,0,0,.08);
}

.ws-menu__top-title{
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:1rem;
  line-height:1.2;
  font-weight:600;
}

.ws-menu__top-back,
.ws-menu__top-close{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  border:0;
  border-radius:.625rem;
  background:#f3f3f3;
  cursor:pointer;
}

.ws-menu__top-back img,
.ws-menu__top-close img{
  width:1.125rem;
  height:1.125rem;
}

.ws-menu__layout{
  display:grid;
  grid-template-columns:17.5rem 1fr;
  gap:1rem;
}

.ws-menu__nav{
  overflow:hidden;
  padding:.75rem;
  border-radius:1.125rem;
  background:#fff;
  box-shadow:0 .75rem 2.25rem rgba(0,0,0,.08);
}

.ws-menu__nav-list{
  margin:0;
  padding:0;
  list-style:none;
}

.ws-menu__nav-item{
  min-width:0;
}

.ws-menu__link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:.75rem;
  padding:.75rem .875rem;
  border:0;
  border-radius:.75rem;
  background:transparent;
  color:#000;
  text-decoration:none;
  cursor:pointer;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:1.125rem;
  line-height:1.2;
  font-weight:500;
}

.ws-menu__link:hover{
  background:#f4f5f7;
}

.ws-menu__link.is-active{
  background:#efefef;
}

.ws-menu__link-chevron{
  display:inline-block;
  flex:0 0 1.25rem;
  width:1.25rem;
  height:1.25rem;
  background:url("https://media.drevosbbq.com/hls/Reviews/right-arrow.svg") center / contain no-repeat;
  transition:transform .2s ease;
}

.ws-menu__link-chevron::before,
.ws-menu__link-chevron::after{
  content:none !important;
}

.ws-menu__content{
  padding:1rem;
  border-radius:1.125rem;
  background:#f3f3f3;
  box-shadow:0 .75rem 2.25rem rgba(0,0,0,.06);
}

.ws-menu__panel{
  display:none;
}

.ws-menu__panel.is-active{
  display:block;
}

.ws-menu__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.ws-menu__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:.875rem;
  border-radius:1rem;
  background:#fff;
  box-shadow:0 .375rem 1.125rem rgba(0,0,0,.06);
  color:#000;
  text-align:center;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}

.ws-menu__card:hover{
  transform:translateY(-.125rem);
  box-shadow:0 .625rem 1.875rem rgba(0,0,0,.10);
}

.ws-menu__card-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-bottom:.5rem;
  overflow:hidden;
  border-radius:.75rem;
  aspect-ratio:3 / 4;
  background:#f0eeeb;
}

.ws-menu__card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.ws-menu__card-title{
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:1rem;
  line-height:1.2;
  font-weight:600;
}

.ws-menu,
.ws-menu *{
  color:#000;
}

.ws-menu a{
  text-decoration:none;
}

@supports not ((backdrop-filter:blur(.0625rem)) or (-webkit-backdrop-filter:blur(.0625rem))){
  .ws-header__actions{
    border-color:rgba(255,255,255,.12);
    background:#1d1b1b;
    box-shadow:0 .875rem 2rem rgba(0,0,0,.34);
  }

  .ws-header__action--menu{
    background:rgba(243,200,71,.14);
  }
}

@media (max-width:68.6875rem){
  .ws-header__action--rating,
  .bar-item--gm,
  .bar-item--tp{
    display:none !important;
  }
}

@media (max-width:64rem){
  .ws-menu__layout{
    grid-template-columns:15.625rem 1fr;
  }

  .ws-menu__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:56.25rem){
  .ws-header__logo{
    height:2.75rem;
    margin-left:.625rem;
  }

  .ws-header__logo img{
    height:1.875rem;
  }

  .ws-header__actions{
    height:2.75rem;
    margin-right:.5rem;
    padding:0 .3125rem;
    gap:.1875rem;
    border-radius:0 1rem 0 1rem;
    max-width:calc(100vw - 7.5rem);
    overflow:hidden;
  }

  .ws-header__action{
    gap:.25rem;
    min-width:0;
  }

  .ws-header__action-icon{
    width:1.125rem;
    height:1.125rem;
  }

  .ws-header__action--menu{
    min-width:2.375rem;
    padding:0 .25rem;
    border-radius:.4375rem;
    border:0;
    background:transparent;
    box-shadow:none;
    color:#f5f1e8;
    position:relative;
    margin-left:.1875rem;
  }

  .ws-header__action--menu .ws-header__action-icon{
    width:1.0625rem;
    height:1.0625rem;
    filter:brightness(0) saturate(100%) invert(88%) sepia(32%) saturate(1245%) hue-rotate(328deg) brightness(99%) contrast(91%);
    opacity:.92;
  }

  .ws-header__action--menu::before{
    content:"";
    position:absolute;
    left:-.25rem;
    top:50%;
    width:1px;
    height:1.5rem;
    transform:translateY(-50%);
    background:rgba(255,255,255,.2);
    pointer-events:none;
  }

  /* Mobile: keep only Google + Trustpilot + Menu */
  .ws-header__action--icon-only{
    display:none !important;
  }

  /* Undo old hide rule for rating items on small screens */
  .ws-header__action--rating,
  .bar-item--gm,
  .bar-item--tp{
    display:inline-flex !important;
  }

  /* Mobile compact rating cards: icon + label + rating (no count) */
  .ws-header__action--rating .ws-header__action-subtitle{
    display:none !important;
  }

  .ws-header__action--rating .ws-header__action-label{
    display:inline !important;
    font-size:.75rem;
    font-weight:600;
    opacity:.92;
  }

  .ws-header__action--rating .ws-header__action-text{
    display:inline-flex !important;
    font-size:.8125rem;
    line-height:1;
    font-weight:700;
    gap:.1875rem;
  }

  .ws-header__action--rating{
    width:auto;
    min-width:0;
    padding:0 .25rem;
    gap:.1875rem;
  }
}

@media (max-width:51.25rem){
  .ws-menu__sheet{
    top:.625rem;
  }

  .ws-menu__top{
    display:flex;
  }

  .ws-menu__layout{
    display:block;
  }

  .ws-menu__content{
    display:none;
    margin-top:0;
    padding:0;
    background:transparent;
    box-shadow:none;
  }

  .ws-menu__nav{
    border-radius:1.125rem;
  }

  .ws-menu__content,
  .ws-menu__nav{
    transition:transform .25s ease;
  }

  .ws-menu--level2 .ws-menu__nav,
  .drevos-menu--level2 .ws-menu__nav{
    display:none;
    transform:translateX(-1.25rem);
    opacity:0;
    pointer-events:none;
  }

  .ws-menu--level2 .ws-menu__content,
  .drevos-menu--level2 .ws-menu__content{
    display:block;
  }

  .ws-menu__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.75rem;
  }

  .ws-menu__card{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    height:15.625rem;
    padding:.625rem .625rem .5rem;
    border-radius:.875rem;
  }

  .ws-menu__card-media{
    height:auto;
    max-height:none;
    margin:0 0 .5rem;
    padding:0;
    aspect-ratio:3 / 4;
  }

  .ws-menu__card-media img{
    width:100%;
    height:100%;
    max-width:100%;
    object-fit:cover;
  }

  .ws-menu__card-title{
    margin-top:.125rem;
    font-size:.875rem;
  }
}

@media (max-width:37.5rem), (max-height:31.25rem) and (orientation:landscape){
  .ws-header__container{
    position:relative;
    width:100vw;
    padding-top:.25rem;
    margin:0;
  }

  .ws-header__logo{
    height:2.5rem;
    margin-left:0;
    padding-top:.75rem;
    padding-left:.75rem;
  }

  .ws-header__logo img{
    width:6.75rem;
    height:1.75rem;
    object-fit:contain;
  }

  .ws-header__actions{
    height:2.5rem;
    margin:.625rem .5rem 0 0;
    padding:0 .125rem;
    gap:.125rem;
    border-radius:0 1rem 0 1rem;
    max-width:calc(100vw - 6.75rem);
  }

  .ws-header__action{
    width:auto;
    height:2.25rem;
    padding:0 .25rem;
    gap:.25rem;
    font-size:0;
  }

  .ws-header__action-icon{
    width:1.5rem;
    height:1.5rem;
  }

  .ws-header__action--rating{
    width:auto;
    min-width:0;
    padding:0 .1875rem;
    gap:.1875rem;
  }

  .ws-header__action--rating .ws-header__action-subtitle{
    display:none !important;
  }

  .ws-header__action--rating .ws-header__action-label{
    display:inline !important;
    font-size:.6875rem;
    font-weight:600;
    opacity:.9;
  }

  .ws-header__action--rating .ws-header__action-text{
    display:inline-flex !important;
    font-size:.75rem;
    line-height:1;
    gap:.125rem;
  }

  .ws-header__action--rating,
  .bar-item--gm,
  .bar-item--tp{
    display:inline-flex !important;
  }

  .ws-header__action--icon-only{
    display:none !important;
  }

  .ws-header__action--menu{
    min-width:2.125rem;
    padding:0 .1875rem;
    font-size:.8125rem;
    border:0;
    background:transparent;
    box-shadow:none;
    color:#f5f1e8;
    position:relative;
    margin-left:.125rem;
  }

  .ws-header__action--menu .ws-header__action-text{
    display:none !important;
  }

  .ws-header__action--menu .ws-header__action-icon{
    width:.9375rem;
    height:.9375rem;
    filter:brightness(0) saturate(100%) invert(88%) sepia(32%) saturate(1245%) hue-rotate(328deg) brightness(99%) contrast(91%);
    opacity:.9;
  }

  .ws-header__action--menu::before{
    content:"";
    position:absolute;
    left:-.1875rem;
    top:50%;
    width:1px;
    height:1.25rem;
    transform:translateY(-50%);
    background:rgba(255,255,255,.2);
    pointer-events:none;
  }

}

@media (max-width:26.25rem){
  .ws-menu__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-transparency:reduce){
  .ws-header__actions,
  .ws-header__action--menu{
    box-shadow:0 .5rem 1.5rem rgba(0,0,0,.18);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .ws-header__actions{
    border:1px solid rgba(255,255,255,.12);
    background:#1d1b1b;
  }

  .ws-header__action--menu{
    border:1px solid rgba(243,200,71,.22);
    background:rgba(243,200,71,.14);
  }
}
