:root{
  --cbd-green-dark:#123b1f;
  --cbd-green-mid:#1d6a2a;
  --cbd-gold:#c89d2a;
  --cbd-gold-light:#d7b04a;
  --cbd-white:#ffffff;
  --cbd-cream:#f5f0e8;

  --hb-header-h:92px;
  --hb-header-h-small:68px;

  --hb-glass-top:rgba(10, 46, 20, .56);
  --hb-glass-scrolled:rgba(9, 36, 17, .86);
  --hb-glass-border:rgba(255,255,255,.10);
  --hb-shadow:0 8px 28px rgba(0,0,0,.12);

  --hb-blur:blur(16px) saturate(170%);
  --hb-transition:.38s cubic-bezier(.4,0,.2,1);

  --hb-search-closed:44px;
  --hb-search-open:230px;
}

body{
  padding-top:var(--hb-header-h);
}

#header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  height:var(--hb-header-h);
  margin:0;
  background:
    radial-gradient(circle at 20% 0%, rgba(215,176,74,.10), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(29,106,42,.18), transparent 32%),
    linear-gradient(90deg, rgba(10,46,20,.72), rgba(16,92,33,.78)),
    var(--hb-glass-top);
  backdrop-filter:var(--hb-blur);
  -webkit-backdrop-filter:var(--hb-blur);
  border-bottom:1px solid var(--hb-glass-border);
  box-shadow:var(--hb-shadow);
  transition:
    height var(--hb-transition),
    background var(--hb-transition),
    box-shadow var(--hb-transition),
    border-color var(--hb-transition),
    transform var(--hb-transition);
}

#header.scrolled{
  height:var(--hb-header-h-small);
  background:
    radial-gradient(circle at 20% 0%, rgba(215,176,74,.07), transparent 24%),
    radial-gradient(circle at 80% 0%, rgba(29,106,42,.12), transparent 28%),
    linear-gradient(90deg, rgba(8,34,16,.92), rgba(11,82,28,.92)),
    var(--hb-glass-scrolled);
  box-shadow:0 10px 32px rgba(0,0,0,.18);
}

#header::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:0;
  height:1.5px;
  background:linear-gradient(90deg, transparent, var(--cbd-gold-light), var(--cbd-gold), var(--cbd-gold-light), transparent);
  transition:width .55s ease;
}

#header.scrolled::after{
  width:min(82%, 1400px);
}

#header .header__banner,
#header .header-top{
  display:none !important;
}

#header .header-bottom{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  height:100%;
}

#header .header-bottom__container{
  max-width:1380px;
  height:100%;
}

#header .header-bottom__row{
  min-height:100%;
  height:100%;
  align-items:center !important;
  flex-wrap:nowrap;
  gap:18px;
}

#header .logo{
  display:flex;
  align-items:center;
  height:100%;
  margin-right:6px;
  z-index:2;
}

#header .header-bottom__h1,
#header .navbar-brand{
  display:flex;
  align-items:center;
  margin:0;
}

#header .logo img,
#header .navbar-brand img{
  height:58px;
  width:auto;
  display:block;
  filter:drop-shadow(0 1px 6px rgba(0,0,0,.22));
  transition:height var(--hb-transition), filter var(--hb-transition), transform var(--hb-transition);
}

#header.scrolled .logo img,
#header.scrolled .navbar-brand img{
  height:42px;
}

#header .main-menu{
  display:flex;
  align-items:center;
  min-width:0;
  height:100%;
}

#header .js-menu-desktop{
  display:flex;
  align-items:center;
  height:100%;
}

#header .main-menu__tree{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  height:100%;
}

#header .js-menu-item-lvl-0{
  display:flex;
  align-items:center;
  height:100%;
  margin:0;
  padding:0;
  list-style:none;
  position:relative;
}

#header .main-menu__tree__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:10px;
  font-family:Montserrat, Helvetica Neue, Arial, sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.96) !important;
  text-decoration:none;
  background:transparent;
  transition:
    color .28s ease,
    transform .28s ease,
    background .28s ease,
    box-shadow .28s ease;
}

#header .main-menu__tree__link::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:7px;
  height:1.5px;
  background:linear-gradient(90deg, var(--cbd-gold-light), var(--cbd-gold));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s ease;
}

#header .main-menu__tree__link::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:10px;
  background:radial-gradient(ellipse at center, rgba(200,157,42,.16), transparent 70%);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}

#header .main-menu__tree__link:hover,
#header .main-menu__tree__item:hover > .main-menu__tree__link,
#header .main-menu__tree__link.active{
  color:var(--cbd-gold-light) !important;
  transform:translateY(-1px);
}

#header .main-menu__tree__link:hover::before,
#header .main-menu__tree__item:hover > .main-menu__tree__link::before,
#header .main-menu__tree__link.active::before{
  transform:scaleX(1);
}

#header .main-menu__tree__link:hover::after,
#header .main-menu__tree__item:hover > .main-menu__tree__link::after,
#header .main-menu__tree__link.active::after{
  opacity:1;
}

#header .main-menu__tree__link.dropdown-toggle{
  padding-right:28px;
}

#header .main-menu__tree__link.dropdown-toggle{
  background-image:
    linear-gradient(45deg, transparent 50%, var(--cbd-gold-light) 50%),
    linear-gradient(135deg, var(--cbd-gold-light) 50%, transparent 50%);
  background-position:
    calc(100% - 14px) calc(50% + 1px),
    calc(100% - 10px) calc(50% + 1px);
  background-size:4px 4px, 4px 4px;
  background-repeat:no-repeat;
}

#header .js-sub-menu.menu-container{
  top:calc(100% - 6px) !important;
  left:0;
  min-width:250px;
  width:max-content;
  max-width:min(460px, 90vw);
  padding:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(15,39,18,.92);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:50;
}

#header .js-menu-item-lvl-0:hover > .js-sub-menu.menu-container,
#header .js-sub-menu.menu-container:hover,
#header .js-menu-item-lvl-0:focus-within > .js-sub-menu.menu-container{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

#header .js-sub-menu > .container{
  max-width:none;
  width:auto;
  margin:0;
  padding:0;
}

#header .js-sub-menu ul[data-depth="1"]{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  padding:0;
}

#header .js-sub-menu ul[data-depth="1"] > li{
  width:100%;
  max-width:100%;
  flex:0 0 100%;
  margin:0;
  padding:0;
  list-style:none;
}

#header .js-sub-menu .dropdown-item{
  display:block;
  width:100%;
  padding:11px 14px;
  border-radius:10px;
  color:rgba(245,240,232,.94) !important;
  text-decoration:none;
  background:transparent;
  transition:background .22s ease, color .22s ease, transform .22s ease;
}

#header .js-sub-menu .dropdown-item:hover{
  background:rgba(200,157,42,.10);
  color:var(--cbd-gold-light) !important;
  transform:translateX(2px);
}

#header .hb-right{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  height:100%;
  flex:0 0 auto;
}

#header .hb-right > div{
  display:flex;
  align-items:center;
}

#header .header-block__action-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  min-width:40px;
  height:40px;
  padding:0;
  border-radius:50%;
  color:rgba(255,255,255,.96) !important;
  background:transparent;
  text-decoration:none;
  transition:
    background .28s ease,
    color .28s ease,
    transform .28s ease,
    box-shadow .28s ease;
}

#header .header-block__action-btn:hover{
  background:rgba(200,157,42,.16);
  color:var(--cbd-gold-light) !important;
  transform:translateY(-2px) scale(1.06);
  box-shadow:0 4px 16px rgba(200,157,42,.18);
}

#header .header-block__title{
  display:none !important;
}

#header .header-block__icon,
#header .material-icons{
  color:inherit !important;
  font-size:28px !important;
  line-height:1;
}

#header .header-block__badge{
  position:absolute;
  top:-3px;
  right:-4px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Montserrat, Arial, sans-serif;
  font-size:11px;
  font-weight:700;
  background:var(--cbd-gold);
  color:var(--cbd-green-dark);
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}

#header .language-selector__wrapper{
  position:relative;
  width:40px;
  height:40px;
  border-radius:50%;
  overflow:hidden;
}

#header .language-selector__wrapper::before{
  content:"language";
  font-family:"Material Icons";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:rgba(255,255,255,.96);
  pointer-events:none;
  transition:color .28s ease, transform .28s ease, background .28s ease;
}

#header .language-selector__wrapper:hover::before,
#header .language-selector__wrapper:focus-within::before{
  color:var(--cbd-gold-light);
  transform:translateY(-1px) scale(1.04);
}

#header #language-selector{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.001;
  cursor:pointer;
  z-index:2;
}

#header #_desktop_search{
  display:flex;
  align-items:center;
}

#header #search_widget{
  position:relative;
  width:var(--hb-search-closed);
  height:44px;
  border-radius:999px;
  overflow:hidden;
  cursor:pointer;
  transition:
    width .34s cubic-bezier(.4,0,.2,1),
    box-shadow .28s ease,
    transform .28s ease;
}

#header #search_widget.is-open{
  width:var(--hb-search-open);
  box-shadow:0 6px 22px rgba(0,0,0,.14);
  transform:translateY(-1px);
}

#header #search_widget form{
  position:relative;
  width:var(--hb-search-open);
  height:44px;
  margin:0;
}

#header #search_widget input[type="hidden"]{
  display:none !important;
}

#header #search_widget input[type="search"],
#header #search_widget .js-search-input{
  width:var(--hb-search-open);
  height:44px;
  padding:0 40px 0 42px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.96);
  font-family:Montserrat, Arial, sans-serif;
  font-size:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:
    background .28s ease,
    border-color .28s ease,
    color .28s ease;
}

#header #search_widget:not(.is-open) input[type="search"],
#header #search_widget:not(.is-open) .js-search-input{
  color:transparent !important;
}

#header #search_widget input[type="search"]::placeholder,
#header #search_widget .js-search-input::placeholder{
  color:rgba(255,255,255,.68);
}

#header #search_widget:not(.is-open) input[type="search"]::placeholder,
#header #search_widget:not(.is-open) .js-search-input::placeholder{
  color:transparent !important;
}

#header #search_widget.is-open input[type="search"],
#header #search_widget.is-open .js-search-input,
#header #search_widget input[type="search"]:focus,
#header #search_widget .js-search-input:focus{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.16);
  outline:none;
}

#header #search_widget .search{
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  font-size:29px !important;
  color:rgba(255,255,255,.96) !important;
  z-index:2;
  pointer-events:none;
}

#header #search_widget .clear{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.72) !important;
  z-index:2;
}

#header .search-widgets__dropdown{
  margin-top:10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(14,36,17,.95);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  overflow:hidden;
}

#header .search-result__link{
  color:rgba(245,240,232,.94);
}

#header .search-result__link:hover{
  color:var(--cbd-gold-light);
}

#header .search__mobile{
  margin-left:auto;
}

#header .main-menu__offcanvas,
#header .menu--mobile{
  background:rgba(14,36,17,.98);
}

#header .menu--mobile .menu__link,
#header .main-menu__title{
  color:var(--cbd-cream);
}

#header .menu--mobile .menu__link:hover{
  color:var(--cbd-gold-light);
}

.cbdolce-ripple{
  position:absolute;
  border-radius:50%;
  transform:scale(0);
  animation:cbdRipple .65s ease-out forwards;
  background:rgba(212,175,90,.28);
  pointer-events:none;
}

@keyframes cbdRipple{
  to{
    transform:scale(2.7);
    opacity:0;
  }
}

@media (max-width: 1199.98px){
  body{
    padding-top:78px;
  }

  #header{
    height:78px;
  }

  #header.scrolled{
    height:64px;
  }

  #header .header-top{
    display:none !important;
  }

  #header .logo img,
  #header .navbar-brand img{
    height:46px;
  }

  #header .main-menu{
    margin-left:auto;
  }

  #header .js-menu-desktop{
    display:none !important;
  }
}

@media (max-width: 991.98px){
  body{
    padding-top:74px;
  }

  #header,
  #header.scrolled{
    height:74px;
  }

  #header .logo img,
  #header .navbar-brand img{
    height:42px;
  }

  #header .search__mobile{
    display:flex !important;
    align-items:center;
  }

  #header .header-block__action-btn{
    width:38px;
    min-width:38px;
    height:38px;
  }

  #header .header-block__icon,
  #header .material-icons{
    font-size:26px !important;
  }

  #header .header-top{
    display:none !important;
  }
}