/* ARBQ: shared foundations and ten independent category/product designs. */
.arbq-category,.arbq-product{--cc-red:#f00;--cc-ink:#252525;--cc-muted:#737373;--cc-line:#ddd;--cc-space:22px;--cc-radius:16px;--cc-media:240px;box-sizing:border-box;position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;color:var(--cc-ink);border:1px solid #e1e1e1;border-radius:var(--cc-radius);overflow:hidden;text-decoration:none;font-family:Manrope,Arial,sans-serif;transition:border-color .25s,box-shadow .25s}
.arbq-category *,.arbq-product *{box-sizing:border-box}
.arbq-category h3,.arbq-product h3,.arbq-category p,.arbq-product p{margin:0}
.arbq-category a,.arbq-product a{color:inherit;text-decoration:none}
.arbq-category:focus-visible,.arbq-product a:focus-visible{outline:2px solid var(--cc-red);outline-offset:3px}
.cc-kicker{display:block;padding:18px var(--cc-space) 0;font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cc-muted)}
.cc-media{position:relative;display:flex;align-items:center;justify-content:center;height:var(--cc-media);min-width:0;margin:0;background:#f6f6f6;overflow:hidden}
.cc-kicker+.cc-media{margin-top:14px}
.cc-media img{display:block;width:100%;height:100%;object-fit:contain;padding:20px;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.arbq-category:hover .cc-media img,.arbq-product:hover .cc-media img{transform:scale(1.035)}
.cc-body{display:flex;flex:1;flex-direction:column;padding:var(--cc-space);min-width:0}
.cc-body h3{font-size:21px;line-height:1.3;font-weight:600;letter-spacing:-.035em;overflow-wrap:anywhere}
.cc-body p{margin-top:10px;font-size:12px;line-height:1.7;color:var(--cc-muted)}
.cc-body p:empty{display:none}
.cc-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px;font-size:12px;line-height:1.5;font-weight:500}
.arbq-product .cc-footer{flex-wrap:wrap}
.cc-footer>svg,.cc-button>svg{display:block;width:18px;height:18px;flex:0 0 18px}
.cc-footer>svg{color:var(--cc-red)}
.cc-price{display:flex;flex-direction:column;gap:3px;min-width:0}
.cc-price small{font-size:10px;font-weight:400;color:var(--cc-muted)}
.cc-price strong{font-size:15px;font-weight:600;white-space:nowrap;letter-spacing:-.025em}
.cc-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 13px;background:var(--cc-red);border:1px solid var(--cc-red);color:#fff!important;font-size:11px;line-height:1.5;white-space:nowrap}
.cc-button:hover{background:#c00;border-color:#c00}
.cc-details{display:none;margin:0}
.arbq-category:hover,.arbq-product:hover{border-color:#aaa}
.arbq-category-grid,.arbq-product-grid{display:grid;gap:22px;padding-block:40px 56px}
.arbq-category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.arbq-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1199px){.arbq-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.arbq-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.arbq-product-grid{grid-template-columns:minmax(0,1fr)}}
.arbq-category-grid+.arbq-product-grid,.arbq-product-grid+.arbq-category-grid{padding-top:0}
.arbq-category-grid .cc-body{gap:18px}
.arbq-category-grid .cc-description{margin-top:0}
.arbq-category-grid .cc-footer{margin-top:auto}
@media(max-width:1199px){.arbq-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:991px){.arbq-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.arbq-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.arbq-category-grid{grid-template-columns:minmax(0,1fr)}.arbq-category-grid,.arbq-product-grid{padding-block:26px 36px}}

/* Balanced shop cards. */
.arbq-category--v01 .cc-footer{border-top:1px solid var(--cc-line);padding-top:17px}
.arbq-product--v01 .cc-media{background:#fafafa}
.arbq-product--v01 .cc-body h3{font-size:19px}
.arbq-category--v01:hover,.arbq-product--v01:hover{box-shadow:0 10px 28px #00000009}


@media(max-width:540px){
    .arbq-category,.arbq-product{--cc-space:19px}
    .arbq-category-grid,.arbq-product-grid{gap:16px}
    .cc-body h3{font-size:20px}
    .cc-button{padding:11px 12px}
}
@media(prefers-reduced-motion:reduce){
    .arbq-category,.arbq-product,.cc-media img{transition:none}
}

/* Category images fill their frame */
.arbq-category .cc-media{display:block;flex:none;width:100%;height:auto;aspect-ratio:3/2}
.arbq-category .cc-media img{position:absolute;inset:0;width:100%;height:100%;padding:0;object-fit:cover;object-position:center 70%}

/* Product photographs fill the full card width. */
.arbq-product .cc-media{display:block;flex:none;width:100%;height:auto;aspect-ratio:4/3}
.arbq-product .cc-media img{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;object-fit:cover;object-position:center}
