:root { --cad-shop-ink: #161616; --cad-shop-muted: #6f6b66; --cad-shop-soft: #f5f1eb; --cad-shop-line: #e7e1d8; --cad-shop-accent: #e94b35; }
.cad-shop-page { background: #fff; color: var(--cad-shop-ink); }
.cad-shop-hero { padding: clamp(3.5rem, 8vw, 7rem) 0 clamp(2.5rem, 5vw, 4.5rem); background: linear-gradient(145deg, #f5f1eb, #fbf9f6); text-align: center; }
.cad-shop-hero .container { max-width: 850px; }
.cad-shop-eyebrow { color: #8a5b34; font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cad-shop-hero h1 { margin: .65rem 0 1rem; font-size: clamp(2.35rem, 6vw, 4.75rem); line-height: 1.05; letter-spacing: -.05em; }
.cad-shop-description { margin-inline: auto; max-width: 680px; color: var(--cad-shop-muted); font-size: 1rem; line-height: 1.75; }
.cad-shop-categories { position: sticky; z-index: 30; top: 73px; border-bottom: 1px solid var(--cad-shop-line); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.cad-shop-categories .container { display: flex; gap: .65rem; padding-block: .8rem; overflow-x: auto; scrollbar-width: none; }
.cad-shop-categories .container::-webkit-scrollbar { display: none; }
.cad-shop-categories a { flex: 0 0 auto; padding: .55rem .9rem; border: 1px solid var(--cad-shop-line); border-radius: 999px; color: #57534f; font-size: .82rem; font-weight: 700; }
.cad-shop-categories a:hover, .cad-shop-categories a.is-active { border-color: var(--cad-shop-ink); background: var(--cad-shop-ink); color: #fff; }
.cad-shop-categories a span { margin-left: .25rem; opacity: .58; font-size: .68rem; }
.cad-shop-products { padding-top: clamp(2.5rem, 5vw, 4.5rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
.cad-shop-products .woocommerce-notices-wrapper:empty { display: none; }
.cad-shop-products .woocommerce-result-count { color: var(--cad-shop-muted); font-size: .84rem; }
.cad-shop-products .woocommerce-ordering { margin-bottom: 2rem; }
.cad-shop-products .woocommerce-ordering select { min-height: 42px; padding: 0 2.5rem 0 .85rem; border: 1px solid var(--cad-shop-line); border-radius: 9px; background: #fff; color: var(--cad-shop-ink); font: inherit; font-size: .82rem; }
.cad-shop-products ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); clear: both; gap: clamp(1rem, 2.5vw, 2rem); margin: 0 !important; }
.cad-shop-products ul.products::before, .cad-shop-products ul.products::after { display: none !important; }
.cad-shop-products ul.products li.product.cad-shop-card { display: flex; flex-direction: column; width: auto !important; min-width: 0; margin: 0 !important; overflow: hidden; border: 1px solid #eee9e3; border-radius: 18px; background: #fff; box-shadow: 0 8px 30px rgba(50,39,25,.05); transition: transform .25s ease, box-shadow .25s ease; }
.cad-shop-products ul.products li.product.cad-shop-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(50,39,25,.11); }
.cad-shop-card-image { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #f7f7f7; }
.cad-shop-condition { position: absolute; z-index: 3; top: .8rem; left: .8rem; display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .58rem; border-radius: 999px; font-family: inherit !important; font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.cad-shop-condition::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cad-shop-condition.cad-condition-new { background: #eaf8ef; color: #237a43; }
.cad-shop-condition.cad-condition-used { background: #fff1db; color: #9a5b00; }
.cad-shop-card-image img { width: 100% !important; height: 100% !important; margin: 0 !important; padding: clamp(.75rem, 2vw, 1.4rem); object-fit: contain; mix-blend-mode: multiply; transition: transform .4s ease; }
.cad-shop-card:hover .cad-shop-card-image img { transform: scale(1.045); }
.cad-shop-card-image .onsale { top: .8rem !important; right: .8rem !important; left: auto !important; min-width: auto !important; min-height: auto !important; margin: 0 !important; padding: .35rem .6rem !important; border-radius: 999px !important; background: var(--cad-shop-accent) !important; line-height: 1 !important; font-size: .68rem !important; }
.cad-shop-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.15rem; }
.cad-shop-card-category { color: #8a5b34; font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.cad-shop-card-title { margin: .45rem 0 .65rem; color: var(--cad-shop-ink); font-size: 1.02rem; font-weight: 750; line-height: 1.45; }
.cad-shop-card .star-rating, .cad-shop-card .star-rating span, .cad-shop-card .star-rating::before, .cad-shop-card .star-rating span::before { color: #f5b800 !important; font-family: star !important; }
.cad-shop-card .star-rating { float: none !important; margin: 0 0 .6rem !important; font-size: .78rem !important; }
.cad-shop-card .price { margin: auto 0 .85rem !important; padding-top: .2rem; color: var(--cad-shop-accent) !important; font-size: 1.05rem !important; font-weight: 800 !important; }
.cad-shop-card .price del { color: #999; font-size: .78rem; opacity: 1; }
.cad-shop-card-cta { display: flex; align-items: center; justify-content: space-between; width: 100%; padding-top: .85rem; border-top: 1px solid var(--cad-shop-line); font-size: .82rem; font-weight: 750; }
.cad-shop-card-cta span { color: var(--cad-shop-accent); font-family: inherit !important; font-size: 1.1rem; transition: transform .2s ease; }
.cad-shop-card-cta:hover span { transform: translateX(4px); }
.cad-shop-products .woocommerce-pagination { margin-top: 3rem; }
.cad-shop-products .woocommerce-pagination ul { display: flex !important; justify-content: center; gap: .45rem; border: 0 !important; }
.cad-shop-products .woocommerce-pagination li { border: 0 !important; }
.cad-shop-products .woocommerce-pagination a, .cad-shop-products .woocommerce-pagination span { display: grid !important; place-items: center; min-width: 40px; height: 40px; padding: 0 .6rem !important; border: 1px solid var(--cad-shop-line); border-radius: 8px; font-family: inherit !important; }
.cad-shop-products .woocommerce-pagination .current { border-color: var(--cad-shop-ink); background: var(--cad-shop-ink) !important; color: #fff; }
.cad-shop-empty { padding: 5rem 1rem; text-align: center; color: var(--cad-shop-muted); }
.cad-shop-empty > span { display: block; font-size: 3rem; }

@media (max-width: 900px) { .cad-shop-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .cad-shop-hero { padding: 3rem 0 2.5rem; }
  .cad-shop-hero h1 { font-size: 2.5rem; }
  .cad-shop-categories { top: 65px; }
  .cad-shop-products { padding-inline: 1rem; }
  .cad-shop-products .woocommerce-result-count, .cad-shop-products .woocommerce-ordering { float: none; width: 100%; margin: 0 0 .8rem; }
  .cad-shop-products .woocommerce-ordering select { width: 100%; }
  .cad-shop-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .cad-shop-products ul.products li.product.cad-shop-card { border-radius: 13px; }
  .cad-shop-card-body { padding: .8rem; }
  .cad-shop-card-title { font-size: .86rem; line-height: 1.4; }
  .cad-shop-card-category { font-size: .59rem; }
  .cad-shop-card .price { font-size: .9rem !important; }
  .cad-shop-card-cta { font-size: .75rem; }
}
