/* Header layout only: retain the existing announcement bar and all site styling. */
.ch-header__inner{position:relative;width:var(--wide);height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:72px 38px 50px;align-items:center}
.ch-menu-toggle{display:none}
.ch-logo{grid-column:2;grid-row:1;justify-self:center;max-width:100%}
.ch-actions{grid-column:3;grid-row:1;justify-self:end;gap:18px}
.ch-actions svg{width:21px;height:21px}
.ch-nav--primary{grid-column:1/-1;grid-row:2;justify-self:center;position:static;display:block;padding:0;background:transparent}
.ch-nav--primary>ul{justify-content:center;gap:28px}
.ch-nav--primary>ul>li>a{font-size:11px;letter-spacing:1px}
.ch-nav--categories{grid-column:1/-1;grid-row:3;justify-self:center;position:relative;display:flex;align-items:center;justify-content:center;width:100vw;max-height:none;overflow:visible;padding:0;background:transparent}
.ch-nav--categories:before{content:"";position:absolute;left:0;right:0;top:0;border-top:1px solid var(--line)}
.ch-nav--categories>ul{height:100%;align-items:center;justify-content:center;gap:clamp(25px,4vw,68px)}
.ch-nav--categories>ul>li>a{font-size:11px;font-weight:500;letter-spacing:.55px;white-space:nowrap}
.ch-nav--categories .ch-submenu{top:calc(100% - 1px)}
.ch-nav--categories .ch-nav-parent.has-submenu>a:after{content:"";display:inline-block;width:5px;height:5px;margin:0 0 3px 8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.ch-nav--categories .ch-submenu-toggle{display:none}
.ch-nav--categories .ch-submenu .ch-nav-parent>.ch-submenu{left:100%;top:-18px;transform:none}

@media(max-width:1024px){
  .ch-header__inner{width:100%;padding:8px 16px 11px;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:54px 42px;column-gap:0}
  .ch-menu-toggle{grid-column:1;grid-row:1;display:block;justify-self:start;align-self:center;width:28px;height:30px;padding:2px 0;border:0;background:transparent}
  .ch-menu-toggle span{display:block;width:20px;height:1px;margin:6px 0;background:#111;transition:transform .18s ease}
  .ch-header.is-menu-open .ch-menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .ch-header.is-menu-open .ch-menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .ch-logo{grid-column:2;grid-row:1;justify-self:center;max-width:100%}
  .ch-actions{grid-column:1/-1;grid-row:2;justify-self:center;display:flex;width:auto;gap:clamp(15px,5vw,26px)}
  .ch-actions a,.ch-actions button{width:24px;height:24px}
  .ch-actions svg{width:20px;height:20px}
  .ch-actions b{right:-5px;top:-6px}
  .ch-nav--primary,.ch-nav--categories{display:none;grid-column:1/-1;position:static;justify-self:stretch;width:100%;height:auto;max-height:none;overflow:visible;transform:none;padding:0;background:transparent}
  .ch-header.is-menu-open .ch-header__inner{grid-template-rows:54px 42px auto auto}
  .ch-header.is-menu-open .ch-nav--primary,.ch-header.is-menu-open .ch-nav--categories{display:block}
  .ch-nav--primary{grid-row:3;border-top:1px solid var(--line);padding:8px 0}
  .ch-nav--categories{grid-row:4;border-top:1px solid var(--line);padding:8px 0 2px}
  .ch-nav--categories:before{display:none}
  .ch-nav--primary>ul,.ch-nav--categories>ul{height:auto;display:flex;flex-direction:column;align-items:stretch;gap:0}
  .ch-nav--primary>ul>li>a,.ch-nav--categories>ul>li>a{display:block;padding:8px 4px;font-size:12px;letter-spacing:1px}
  .ch-nav--categories .ch-nav-parent.has-submenu>a:after{display:none}
  .ch-nav--categories .ch-nav-parent.has-submenu{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center}
  .ch-nav--categories .ch-nav-parent>a{grid-column:1;grid-row:1}
  .ch-nav--categories .ch-submenu-toggle{grid-column:2;grid-row:1;display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:inherit}
  .ch-nav--categories .ch-submenu-toggle span{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}
  .ch-nav--categories .ch-nav-parent.is-submenu-open>.ch-submenu-toggle span{transform:rotate(225deg)}
  .ch-nav--categories .ch-nav-parent>.ch-submenu{grid-column:1/-1;position:static;transform:none;width:100%;display:none;border:0;border-left:1px solid var(--line);box-shadow:none;padding:5px 0 5px 16px;background:transparent;gap:0}
  .ch-nav--categories .ch-nav-parent:hover>.ch-submenu,.ch-nav--categories .ch-nav-parent:focus-within>.ch-submenu{display:none}
  .ch-nav--categories .ch-nav-parent.is-submenu-open>.ch-submenu{display:flex}
  .ch-nav--categories .ch-submenu .ch-nav-parent>.ch-submenu{padding-left:12px;border-left:0}
  .ch-nav--categories .ch-submenu a{display:block;padding:6px 0;font-size:11px}
  .ch-nav--categories .ch-nav-parent>a{padding-bottom:4px}
}

@media(max-width:782px){
  .ch-header__inner{padding:7px 14px 10px;grid-template-columns:42px minmax(0,1fr) 42px;grid-template-rows:53px 39px}
  .ch-header.is-menu-open .ch-header__inner{grid-template-rows:53px 39px auto auto}
  .ch-actions{gap:clamp(13px,5vw,23px)}
}

@media(max-width:350px){
  .ch-header__inner{padding-left:11px;padding-right:11px;grid-template-columns:36px minmax(0,1fr) 36px;grid-template-rows:51px 38px}
  .ch-header.is-menu-open .ch-header__inner{grid-template-rows:51px 38px auto auto}
  .ch-actions{gap:13px}
  .ch-actions a,.ch-actions button{width:22px;height:22px}
  .ch-actions svg{width:19px;height:19px}
}

/* Search opens as a viewport-bounded modal instead of taking space in the
   header grid. The same dialog scales down safely on phones. */
.ch-search-panel{
  position:fixed;
  z-index:100000;
  inset:0;
  display:none!important;
  align-items:flex-start;
  justify-content:center;
  width:auto;
  max-width:none;
  height:100vh;
  height:100dvh;
  margin:0;
  padding:clamp(44px,10vh,100px) 24px 24px;
  overflow-y:auto;
  border:0;
  background:rgba(0,0,0,.55);
  box-sizing:border-box;
}
.ch-search-panel.is-open{display:flex!important}
.ch-search-panel__backdrop{position:absolute;inset:0}
.ch-search-panel__dialog{
  position:relative;
  z-index:1;
  width:min(780px,100%);
  max-width:100%;
  margin:0 auto;
  padding:48px 50px 56px;
  background:#fff;
  box-sizing:border-box;
}
.ch-search-panel__dialog h2{
  margin:0 40px 22px 0;
  color:#111;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(26px,3vw,36px);
  font-weight:400;
  line-height:1.2;
}
.ch-search-close{
  position:absolute;
  top:12px;
  right:14px;
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border:0;
  background:transparent;
  color:#111;
  font-size:29px;
  line-height:1;
  cursor:pointer;
}
.ch-search-panel__dialog .ch-search-form{
  display:flex;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  gap:0;
  border:0;
}
.ch-search-panel__dialog .ch-search-form input[type="search"]{
  flex:1 1 auto;
  width:1%;
  min-width:0;
  height:54px;
  margin:0;
  padding:12px 16px;
  border:1px solid #111;
  border-radius:0;
  background:#fff;
  color:#111;
  font-size:16px;
  box-sizing:border-box;
}
.ch-search-panel__dialog .ch-search-form button{
  flex:0 0 104px;
  width:104px;
  height:54px;
  margin:0;
  padding:0 12px;
  border:0;
  border-radius:0;
  background:#111;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
  cursor:pointer;
}
body.ch-search-open{overflow:hidden}
@media(max-width:600px){
  .ch-search-panel{padding:18vh 14px 20px}
  .ch-search-panel__dialog{width:100%;padding:38px 20px 28px}
  .ch-search-panel__dialog h2{font-size:25px;margin-bottom:18px}
  .ch-search-panel__dialog .ch-search-form button{flex-basis:78px;width:78px;font-size:9px;padding:0 6px}
}

/* Search suggestions stay inside the existing modal and match its form width. */
.ch-search-content{width:100%;min-width:0}
.ch-search-suggestions{width:100%;max-width:100%;max-height:min(56vh,520px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-top:0;background:#fff;color:#111}
.ch-search-suggestions[hidden],.ch-search-browse[hidden],.ch-search-live[hidden]{display:none}
.ch-search-browse{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px 16px}
.ch-search-suggestions__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ch-search-suggestions h3{margin:0 0 12px;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.ch-search-suggestions__heading h3{margin-bottom:0}
.ch-search-clear{flex:0 0 auto;border:0;border-bottom:1px solid currentColor;background:transparent;color:#555;padding:3px 0;font-size:11px;cursor:pointer}
.ch-search-recent__list,.ch-search-categories ul,.ch-search-results{list-style:none;margin:12px 0 0;padding:0}
.ch-search-recent__list{display:flex;flex-wrap:wrap;gap:8px}
.ch-search-history{max-width:100%;overflow:hidden;border:1px solid var(--line);background:var(--paper);color:#111;padding:8px 11px;text-overflow:ellipsis;white-space:nowrap;font-size:12px;cursor:pointer}
.ch-search-recent__empty{margin:10px 0 0;color:#777;font-size:12px}
.ch-search-categories ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ch-search-categories a{display:block;min-width:0;border:1px solid var(--line);padding:8px 10px;background:var(--paper);font-size:12px;line-height:1.35;overflow-wrap:anywhere;transition:background-color .15s ease,color .15s ease}
.ch-search-categories a:hover{background:#111;color:#fff}
.ch-search-live{padding:0 16px}
.ch-search-message{margin:0;padding:16px 0;color:#555;font-size:13px}
.ch-search-results{margin:0}
.ch-search-results li+li{border-top:1px solid var(--line)}
.ch-search-product{display:flex;align-items:center;gap:14px;min-width:0;padding:10px 0}
.ch-search-product img{flex:0 0 56px;width:56px;height:56px;object-fit:cover;background:var(--paper)}
.ch-search-product__details{display:grid;gap:4px;min-width:0}
.ch-search-product__name{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:13px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.ch-search-product__price{font-size:12px;color:#555}
.ch-search-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ch-search-panel__dialog .ch-search-form input[type="search"]:focus-visible,.ch-search-panel__dialog .ch-search-form button:focus-visible,.ch-search-close:focus-visible,.ch-search-suggestions a:focus-visible,.ch-search-suggestions button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
@media(max-width:600px){
  .ch-search-suggestions{max-height:min(44dvh,400px)}
  .ch-search-browse{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px 12px}
  .ch-search-recent__list{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 2px 8px}
  .ch-search-recent__list li{flex:0 0 auto;max-width:80%}
  .ch-search-history{max-width:100%}
  .ch-search-categories ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .ch-search-categories a{padding:8px;font-size:11px}
  .ch-search-live{padding:0 12px}
  .ch-search-product{gap:10px}
  .ch-search-product img{flex-basis:48px;width:48px;height:48px}
}
@media(max-width:360px){
  .ch-search-panel__dialog{padding-right:14px;padding-left:14px}
  .ch-search-panel__dialog .ch-search-form button{flex-basis:68px;width:68px}
  .ch-search-suggestions h3{font-size:10px}
}

/* 1.8.1 single-product rating removal and favorite placement */
.single-product .woocommerce-product-rating,.single-product .ch-stars{display:none!important}
/* 1.8.2 full-width separators for each product-tools row */
.single-product .ch-product-tools{display:flex;flex-direction:column;gap:0;margin:25px 0}
.single-product .ch-product-tools__row{display:grid;width:100%;border-bottom:1px solid var(--line);gap:2px}
.single-product .ch-product-tools__row--primary{grid-template-columns:repeat(2,minmax(0,1fr))}
.single-product .ch-product-tools__row--secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 72px}
.single-product .ch-product-tools__row button{width:100%;min-width:0;border-bottom:0;padding:12px 0}
.single-product .ch-product-tools__row--secondary>.ch-favorite--single{position:static;justify-self:stretch;align-self:stretch;width:100%;height:auto;margin:0;padding:12px 0;border-radius:0;background:none;display:flex;gap:6px;align-items:center;justify-content:flex-end;font-size:12px;white-space:nowrap}
.single-product .ch-product-tools__row--secondary>.ch-favorite--single svg{width:17px;height:17px;fill:transparent;stroke:currentColor;stroke-width:1.6}
.single-product .ch-product-tools__row--secondary>.ch-favorite--single.is-active svg{fill:var(--orange);stroke:var(--orange)}
@media(max-width:390px){.single-product .ch-product-tools__row--secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px}.single-product .ch-product-tools__row button{font-size:11px;gap:6px}}
