/* Category promo cards (page builder section "category_cards"): loaded by the section itself. */
.cc-head{align-items:flex-end;flex-wrap:wrap}
.cc-all{white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--brand);padding-bottom:3px;transition:color .2s}
.cc-all:hover{color:var(--brand)}
.scheme-dark .cc-all,.scheme-brand .cc-all{color:inherit}
.cc-grid{display:grid;grid-template-columns:repeat(var(--cc-cols,4),minmax(0,1fr));gap:22px}
.cc-cols-2{--cc-cols:2}.cc-cols-3{--cc-cols:3}.cc-cols-4{--cc-cols:4}
.cc-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 23%;gap:9px;padding:11px;min-width:0;background:var(--panel,#fff);color:var(--ink);border:1px solid var(--line);border-radius:calc(var(--radius,12px) + 8px);text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.sec .cc-grid a.cc-card:not(.btn-brand):not(.card){color:var(--ink)} /* the cards keep their own text colour on brand and dark bands */
.cc-no-thumbs .cc-card{grid-template-columns:minmax(0,1fr)}
.cc-card:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.cc-art{position:relative;display:block;overflow:hidden;border-radius:calc(var(--radius,12px) + 2px);aspect-ratio:1/1;background:var(--soft)}
.cc-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.cc-art::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.45) 50%,transparent 62%);transform:translateX(-130%);transition:transform .9s;pointer-events:none}
.cc-thumbs{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;min-height:0}
.cc-thumb{display:block;min-height:0;overflow:hidden;border-radius:calc(var(--radius,12px) - 1px);border:1px solid var(--line);background:var(--img-bg,#fff)}
.cc-thumb img{display:block;width:100%;height:100%;object-fit:contain;padding:4px;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.cc-foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 3px;min-width:0}
.cc-info{display:flex;flex-direction:column;min-width:0}
.cc-title{font-family:var(--heading-font);font-weight:700;font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.cc-count{margin-top:4px;font-size:13px;color:var(--muted)}
.cc-shop{flex:none;display:inline-flex;align-items:center;gap:7px;padding:11px 22px;border-radius:999px;background:var(--brand);color:var(--on-brand);font-weight:800;font-size:14px;letter-spacing:.04em;transition:background .25s,color .25s}
.cc-shop::after{content:"\2192";display:inline-block;transition:transform .25s}
/* Hover: lift with a brand-colour ring, banner zoom and light sweep, thumbs zoom, the button turns ink. */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .cc-fx-lift .cc-card:hover{transform:translateY(-7px);border-color:var(--brand);box-shadow:0 26px 44px -22px rgba(0,0,0,.4),0 0 0 3px color-mix(in srgb,var(--brand) 28%,transparent)}
  .cc-fx-lift .cc-card:hover .cc-art img{transform:scale(1.08)}
  .cc-fx-lift .cc-card:hover .cc-art::after{transform:translateX(130%)}
  .cc-fx-lift .cc-card:hover .cc-thumb img{transform:scale(1.12)}
  .cc-fx-lift .cc-card:hover .cc-shop{background:var(--ink);color:var(--ground,#fff)}
  .cc-fx-lift .cc-card:hover .cc-shop::after{transform:translateX(5px)}
}
.cc-fx-lift .cc-card:focus-visible .cc-shop{background:var(--ink);color:var(--ground,#fff)}
.cc-fx-none .cc-art::after{display:none}
@media (prefers-reduced-motion:reduce){.cc-card,.cc-art img,.cc-art::after,.cc-thumb img,.cc-shop,.cc-shop::after{transition:none}.cc-art::after{display:none}}
@media (max-width:1100px){.cc-grid{--cc-cols:2}}
@media (max-width:560px){.cc-grid{--cc-cols:1;gap:16px}.cc-card{border-radius:calc(var(--radius,12px) + 4px)}.cc-title{font-size:18px}.cc-shop{padding:10px 18px}}
