/*
 * carot theme — CategoryTile, ProductCard, ProductGallery, VariantChips, BuyBlock.
 * Sections CategoryTile, ProductCard, ProductGallery, VariantChips, BuyBlock of docs/design-system/components/bundle.css.
 * Generated by scripts/pull-design-system.mjs on 2026-10-01. Do not edit: change
 * docs/design-system and re-run the script (feature CAROT_THEME D2).
 */
/* ---------- CategoryTile ---------- */
.c-cats{display:grid;gap:var(--space-3)}
.c-cat{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--brand-muted);border:1px solid transparent;border-radius:var(--radius-lg);text-decoration:none;transition:border-color .12s ease-out}
.c-cat:hover,.c-cat.is-hover{border-color:var(--primary)}
.c-cat__media{border-radius:var(--radius-md);overflow:hidden;background:var(--card)}
.c-cat__media .ph{background:var(--card)}
.c-cat__name{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-heading-3);line-height:var(--leading-snug)}
.c-cat__meta{font-size:var(--text-small);color:var(--muted-foreground);line-height:var(--leading-normal)}
.c-cat__arrow{color:var(--brand-strong)}
@container site (min-width:1008px){
  .c-cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}
  .c-cat{grid-template-columns:88px 1fr auto;padding:var(--space-4)}
}

/* ---------- ProductCard ---------- */
.c-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);list-style:none;padding:0;margin:0}
@container site (min-width:752px){.c-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container site (min-width:1008px){.c-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.c-grid>li{display:flex;flex-direction:column}
.c-card{position:relative;display:flex;flex-direction:column;flex:1;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .12s ease-out}
.c-card:hover,.c-card.is-hover{border-color:var(--border-strong)}
.c-card:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.c-card__media{position:relative;aspect-ratio:1;background:var(--surface)}
.c-card__flags{position:absolute;top:var(--space-2);left:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-1)}
.c-card__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);flex:1}
.c-card__title{font-size:var(--text-small);line-height:var(--leading-snug);font-weight:var(--weight-regular);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.35em)}
.c-card__title a{text-decoration:none}
.c-card__title a::after{content:"";position:absolute;inset:0}
.c-card__title a:focus-visible{outline:0}
.c-card:hover .c-card__title a{text-decoration:underline}
.c-card__foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-2)}
.c-card.is-out .c-card__media>*:not(.c-card__flags){opacity:.55}
@container site (min-width:1008px){.c-card__body{padding:var(--space-4)}.c-card__title{font-size:var(--text-body)}}

/* ---------- ProductGallery ---------- */
.c-gallery{position:relative}
.c-gallery__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter))}
.c-gallery__track::-webkit-scrollbar{display:none}
.c-gallery__slide{flex:0 0 100%;scroll-snap-align:start}
.c-gallery__count{position:absolute;right:var(--space-3);bottom:var(--space-3);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--contrast);color:var(--contrast-foreground);font-size:var(--text-caption);font-variant-numeric:tabular-nums}
.c-gallery__thumbs{display:none;list-style:none;padding:0;gap:var(--space-2);margin-top:var(--space-3)}
.c-gallery__thumb{display:block;width:var(--thumb-size);height:var(--thumb-size);padding:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);cursor:pointer}
.c-gallery__thumb[aria-current="true"]{border:2px solid var(--foreground)}
.c-gallery__thumb .ph{font-size:9px}
@container site (min-width:1008px){
  .c-gallery__track{margin-inline:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}
  .c-gallery__count{display:none}
  .c-gallery__thumbs{display:flex}
}

/* ---------- VariantChips ---------- */
.c-variants{display:flex;flex-direction:column;gap:var(--space-2)}
.c-variants__label{font-size:var(--text-small);font-weight:var(--weight-semibold)}
.c-variants__list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0}
.c-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--card);font-size:var(--text-small)}
.c-chip.is-out{color:var(--muted-foreground);border-style:dashed}
.c-chip.is-out s{text-decoration-thickness:1px}
.c-variants__note{display:flex;gap:var(--space-1);align-items:center;font-size:var(--text-caption);color:var(--muted-foreground)}

/* ---------- BuyBlock ---------- */
.c-buy{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}
.c-buy__stock{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--success)}
.c-buy__actions{display:flex;flex-direction:column;gap:var(--space-2)}
.c-buy__others{display:grid;gap:var(--space-2)}
.c-buy__others .c-btn{justify-content:flex-start;padding-inline:var(--space-3);white-space:nowrap}
.c-buy__note{display:flex;gap:var(--space-2);font-size:var(--text-caption);line-height:var(--leading-normal);color:var(--muted-foreground)}
.c-buy__alert{display:flex;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--warning-muted);color:var(--warning);font-size:var(--text-small);line-height:var(--leading-normal)}
.c-buy__alert strong{display:block}
.c-buy__alert p{color:var(--foreground)}
.c-buy__similar{display:grid;gap:var(--space-2);list-style:none;padding:0}
.c-buy__similar a{display:grid;grid-template-columns:48px 1fr;gap:var(--space-3);align-items:center;min-height:56px;text-decoration:none;font-size:var(--text-small);line-height:var(--leading-snug)}
.c-buy__similar a:hover span{text-decoration:underline}
.c-buy__similar .ph{border-radius:var(--radius-md);font-size:0}
@container site (min-width:1008px){.c-buy{padding:var(--space-5)}}
/* compact size: product box inside an article */
.c-buy--compact{display:grid;grid-template-columns:var(--thumb-size) 1fr;gap:var(--space-3);padding:var(--space-4);background:var(--card)}
.c-buy--compact .c-buy__media{border-radius:var(--radius-md);overflow:hidden}
.c-buy--compact .c-buy__title{font-size:var(--text-small);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}
.c-buy--compact .c-buy__title a{text-decoration:none}
.c-buy--compact .c-buy__title a:hover{text-decoration:underline}
.c-buy--compact .c-buy__actions{grid-column:1/-1}
.c-buy--compact .c-buy__links{display:flex;flex-wrap:wrap;gap:0 var(--space-4);font-size:var(--text-small)}
.c-buy--compact .c-buy__links a{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--touch-target);color:var(--brand-strong)}
@container site (min-width:752px){.c-buy--compact:not(.c-buy--stack) .c-buy__actions{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}}
/* sticky buy bar, mobile only */
.c-buybar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--gutter) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--raised);box-shadow:var(--shadow-raised)}
.c-buybar__price{flex:1;min-width:0;display:flex;flex-direction:column}
.c-buybar__price .c-price__value{font-size:var(--text-body);white-space:nowrap}
.c-buybar--demo{position:relative}
@container site (min-width:1008px){.c-buybar{display:none}}
