/* Cookbook Shelf category filters.
   The panel behaves like a small index: title and actions stay visible while
   the long facet list scrolls quietly between them. */
body.cooking[data-page="category"] .cat-layout{
  grid-template-columns:312px minmax(0,1fr)!important;
  gap:28px!important;
}

body.cooking[data-page="category"] .cs-search-results-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 22px;
  padding:0 0 20px;
  border-bottom:1px solid #d8cec2;
}
body.cooking[data-page="category"] .cs-search-results-head span{
  display:block;
  margin-bottom:7px;
  color:#c86422;
  font:800 10px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.cooking[data-page="category"] .cs-search-results-head h1{
  margin:0;
  color:#291f18;
  font:700 clamp(28px,3vw,42px)/1.04 Georgia,serif;
  letter-spacing:-.035em;
}
body.cooking[data-page="category"] .cs-search-results-head p{
  flex:0 0 auto;
  margin:0;
  color:#75685e;
  font-size:13px;
  white-space:nowrap;
}
body.cooking[data-page="category"] .cs-search-results-head p strong{
  color:#291f18;
  font-size:17px;
}

body.cooking[data-page="category"] .cat-filters{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:312px!important;
  max-height:calc(100dvh - 200px)!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d8cec2!important;
  border-radius:18px!important;
  background:#fffdf9!important;
  box-shadow:0 18px 42px rgba(45,30,19,.09)!important;
}

body.cooking[data-page="category"] .cf-head{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  min-height:88px!important;
  margin:0!important;
  padding:18px 22px!important;
  border:0!important;
  border-bottom:1px solid #dfd5ca!important;
  background:#fffdf9!important;
}

body.cooking[data-page="category"] .cf-head-copy{
  display:grid;
  gap:5px;
  min-width:0;
}

body.cooking[data-page="category"] .cf-head strong{
  color:#291f18;
  font:800 20px/1.1 Inter,Arial,sans-serif!important;
  letter-spacing:-.025em!important;
}

body.cooking[data-page="category"] .cf-head small{
  color:#75685e;
  font:500 12px/1.35 Inter,Arial,sans-serif!important;
}

body.cooking[data-page="category"] .cf-body{
  min-height:0;
  padding:0 22px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
body.cooking[data-page="category"] .cf-body::-webkit-scrollbar{display:none}

body.cooking[data-page="category"] .cf-group{
  padding:20px 0!important;
  border-top:0!important;
  border-bottom:1px solid #e6ddd3!important;
}
body.cooking[data-page="category"] .cf-group:last-child{border-bottom:0!important}

body.cooking[data-page="category"] .cf-title,
body.cooking[data-page="category"] .cf-intent-title{
  margin:0 0 12px!important;
  color:#51463d!important;
  font:800 11px/1.25 Inter,Arial,sans-serif!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}

body.cooking[data-page="category"] .cf-row,
body.cooking[data-page="category"] .cf-group>div[style*="display:flex"]{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
}

body.cooking[data-page="category"] .cf-price{
  min-width:0!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border:1px solid #cfc4b8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#2c231d!important;
  font-size:16px!important;
}
body.cooking[data-page="category"] .cf-price:focus{
  border-color:#c86422!important;
  box-shadow:0 0 0 3px rgba(200,100,34,.14)!important;
}

body.cooking[data-page="category"] .cf-check{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  padding:7px 0!important;
  color:#3d342d!important;
  font-size:15px!important;
  line-height:1.28!important;
}

body.cooking[data-page="category"] .cf-check input{
  appearance:none;
  display:grid;
  place-content:center;
  width:21px!important;
  height:21px!important;
  margin:0!important;
  border:1.5px solid #a99c90;
  border-radius:5px;
  background:#fff;
  cursor:pointer;
}
body.cooking[data-page="category"] .cf-check input[type="radio"]{border-radius:50%}
body.cooking[data-page="category"] .cf-check input:before{
  content:"";
  width:9px;
  height:9px;
  transform:scale(0);
  transition:transform .12s ease;
  background:#fff;
  clip-path:polygon(14% 44%,0 61%,40% 100%,100% 21%,82% 6%,38% 68%);
}
body.cooking[data-page="category"] .cf-check input[type="radio"]:before{
  width:9px;height:9px;border-radius:50%;clip-path:none;
}
body.cooking[data-page="category"] .cf-check input:checked{
  border-color:#c86422;
  background:#c86422;
}
body.cooking[data-page="category"] .cf-check input:checked:before{transform:scale(1)}
body.cooking[data-page="category"] .cf-check input:focus-visible{outline:3px solid rgba(200,100,34,.22);outline-offset:2px}
body.cooking[data-page="category"] .cf-check:has(input:checked) .cf-lbl{color:#9f4618!important;font-weight:750}
body.cooking[data-page="category"] .cf-facet .cf-extra{display:none!important}
body.cooking[data-page="category"] .cf-facet.cf-open-all .cf-extra{display:grid!important}

body.cooking[data-page="category"] .cf-lbl{
  min-width:0;
  overflow:visible!important;
  color:#3d342d!important;
  font-size:14px!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
body.cooking[data-page="category"] .cf-cnt{
  align-self:center;
  min-width:24px;
  margin-left:8px!important;
  color:#9b8f85!important;
  font-size:11px!important;
  font-variant-numeric:tabular-nums;
  text-align:right;
}

body.cooking[data-page="category"] .cf-decades{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
}
body.cooking[data-page="category"] .cf-decade{
  min-height:36px!important;
  padding:7px 10px!important;
  border:1px solid #d7ccc0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#44382f!important;
  font-size:12px!important;
}
body.cooking[data-page="category"] .cf-decade:hover,
body.cooking[data-page="category"] .cf-decade-on{
  border-color:#c86422!important;
  background:#fff3e9!important;
  color:#a34616!important;
}

body.cooking[data-page="category"] .cf-more{
  display:inline-flex!important;
  align-items:center;
  min-height:38px!important;
  margin-top:5px;
  padding:6px 0!important;
  color:#b4511b!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:underline;
  text-decoration-color:rgba(180,81,27,.35);
  text-underline-offset:4px;
}

body.cooking[data-page="category"] .cf-intent{
  margin:0!important;
  padding:20px 0!important;
  border-top:0!important;
  border-bottom:1px solid #e6ddd3!important;
}
body.cooking[data-page="category"] .intent-chip{
  min-height:42px!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  white-space:normal!important;
}

body.cooking[data-page="category"] .cf-actions{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid #d8cec2;
  background:#fffdf9;
  box-shadow:0 -8px 22px rgba(45,30,19,.055);
}
body.cooking[data-page="category"] .cf-apply{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:48px!important;
  width:100%!important;
  margin:0!important;
  padding:11px 15px!important;
  border:1px solid #2b2119!important;
  border-radius:10px!important;
  background:#2b2119!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
}
body.cooking[data-page="category"] .cf-apply:hover{
  border-color:#c86422!important;
  background:#c86422!important;
}
body.cooking[data-page="category"] .cf-reset{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:48px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #d3c8bc!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#554940!important;
  font-size:12px!important;
  font-weight:800;
  text-decoration:none!important;
}
body.cooking[data-page="category"] .cf-reset:hover{
  border-color:#a99b8e!important;
  background:#f6f0e9!important;
}

@media (max-width:760px){
  body.cooking[data-page="category"] .cs-search-results-head{
    display:block;
    margin-bottom:14px;
    padding-bottom:15px;
  }
  body.cooking[data-page="category"] .cs-search-results-head h1{
    font-size:30px;
    overflow-wrap:anywhere;
  }
  body.cooking[data-page="category"] .cs-search-results-head p{
    margin-top:8px;
    white-space:normal;
  }
  body.cooking[data-page="category"] .cat-layout{display:block!important}
  body.cooking[data-page="category"] .cat-filters.cf-open{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    inset:8px 0 0!important;
    width:100%!important;
    max-height:calc(100dvh - 8px)!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:22px 22px 0 0!important;
  }
  body.cooking[data-page="category"] .cat-filters.cf-open:before{display:none!important}
  body.cooking[data-page="category"] .cf-head{
    min-height:82px!important;
    padding:15px 18px!important;
  }
  body.cooking[data-page="category"] .cf-head strong{font-size:20px!important}
  body.cooking[data-page="category"] .cf-close{
    display:flex!important;
    flex:0 0 44px;
    align-items:center;
    justify-content:center;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    border:1px solid #d8cec2!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#3b3028!important;
  }
  body.cooking[data-page="category"] .cf-body{padding:0 18px!important}
  body.cooking[data-page="category"] .cf-group{padding:17px 0!important}
  body.cooking[data-page="category"] .cf-check{min-height:48px!important;padding:9px 0!important}
  body.cooking[data-page="category"] .cf-lbl{font-size:15px!important}
  body.cooking[data-page="category"] .cf-actions{
    position:relative!important;
    z-index:5;
    grid-template-columns:96px minmax(0,1fr);
    padding:12px 18px calc(12px + env(safe-area-inset-bottom));
  }
  body.cooking[data-page="category"] .cf-actions .cf-apply,
  body.cooking[data-page="category"] .cf-actions .cf-reset{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    margin:0!important;
    box-shadow:none!important;
  }
}
