/* Product card · the kit rules for this component, quoted from phase-2/kit (kit v3) by phase-4/src/build_pack.py.
   Tokens come from ../../styles.css. Build it as: Card. */
/* base.css */
.lift{transition:transform var(--motion-hover),box-shadow var(--motion-hover),border-color var(--motion-hover)}
/* base.css */
.lift:hover, .lift.is-hover{transform:translateY(var(--lift-shift));box-shadow:var(--e-card-hover)}
/* families/cards-gallery/family.css */
.cg-more{display:flex;align-items:center;justify-content:center;gap:var(--s-4);margin-top:var(--s-6);font-size:var(--text-small);color:hsl(var(--muted-foreground))}
/* families/cards-gallery/family.css */
.cg-card{position:relative;display:flex;flex-direction:column;min-width:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-card);box-shadow:var(--e-1);outline:0;transition:transform var(--motion-hover),box-shadow var(--motion-hover),border-color var(--motion-hover)}
/* families/cards-gallery/family.css */
.cg-card:hover, .cg-card.is-hover{transform:translateY(var(--lift-shift));box-shadow:var(--e-card-hover);border-color:hsl(var(--secondary-border))}
/* families/cards-gallery/family.css */
.cg-card:focus-visible, .cg-card.is-focus{box-shadow:var(--focus-ring);border-color:hsl(var(--ring))}
/* families/cards-gallery/family.css */
.cg-card:has(.open){z-index:5}
/* families/cards-gallery/family.css */
.cg-media{position:relative;aspect-ratio:3/4;background:var(--studio);overflow:hidden;border-radius:var(--r-card-inner) var(--r-card-inner) 0 0}
/* families/cards-gallery/family.css */
.cg-media>.chip{position:absolute;top:var(--s-2);left:var(--s-2);background:hsl(var(--background)/.94);z-index:2}
/* families/cards-gallery/family.css */
.cg-garment{position:absolute;inset:9% 12% 5%}
/* families/cards-gallery/family.css */
.cg-body{display:flex;flex-direction:column;gap:2px;padding:var(--s-3);flex:1;min-width:0}
/* families/cards-gallery/family.css */
.cg-title{font:var(--w-semibold) var(--text-card)/var(--lh-card) var(--font-voice);font-stretch:var(--font-stretch-title);letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* families/cards-gallery/family.css */
.cg-meta{font-size:var(--text-small);color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* families/cards-gallery/family.css */
.cg-meta .code{color:hsl(var(--foreground))}
/* families/cards-gallery/family.css */
.cg-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 var(--s-2);margin-top:var(--s-2);font-variant-numeric:tabular-nums}
/* families/cards-gallery/family.css */
.cg-price b{font:var(--w-semibold) var(--text-card)/1.2 var(--font-ui)}
/* families/cards-gallery/family.css */
.cg-price span{font-size:var(--text-micro);color:hsl(var(--muted-foreground))}
/* families/cards-gallery/family.css */
.cg-ver{font-size:var(--text-micro);color:hsl(var(--muted-foreground));margin-top:2px}
/* families/cards-gallery/family.css */
.cg-ver .code{font-size:var(--text-micro)}
/* families/cards-gallery/family.css */
.cg-actions{display:flex;align-items:center;gap:var(--s-2);margin-top:auto;padding-top:var(--s-3)}
/* families/cards-gallery/family.css */
.cg-actions>.btn{flex:1}
/* families/cards-gallery/family.css */
.cg-card.is-disabled{background:hsl(var(--muted)/.6);box-shadow:none;transform:none;cursor:not-allowed}
/* families/cards-gallery/family.css */
.cg-card.is-disabled .cg-media>*:not(.chip){opacity:.5}
/* families/cards-gallery/family.css */
.cg-nophoto{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);background:hsl(var(--muted));color:hsl(var(--muted-foreground));text-align:center;padding:var(--s-4)}
/* families/cards-gallery/family.css */
.cg-nophoto .cg-outline{width:46%;color:hsl(var(--secondary-border))}
/* families/cards-gallery/family.css */
.cg-nophoto b{font:var(--w-semibold) var(--text-small)/1.3 var(--font-voice);color:hsl(var(--foreground))}
/* families/cards-gallery/family.css */
.cg-nophoto span{font-size:var(--text-micro);line-height:1.4}
/* families/cards-gallery/family.css */
.cg-nophoto.err{background:hsl(var(--destructive)/.05)}
/* families/cards-gallery/family.css */
.cg-nophoto.err .cg-outline{color:hsl(var(--destructive)/.35)}
/* families/cards-gallery/family.css */
.cg-nophoto.err b{color:hsl(var(--destructive))}
/* families/cards-gallery/family.css */
.cg-codeline{display:flex;align-items:baseline;gap:var(--s-2)}
/* families/cards-gallery/family.css */
.cg-codeline .code{font:var(--w-medium) var(--text-card)/1.3 var(--font-code);color:hsl(var(--foreground))}
/* families/cards-gallery/family.css */
.cg-codeline small{margin-left:auto;font:var(--text-micro)/1 var(--font-code);color:hsl(var(--muted-foreground))}
/* families/cards-gallery/family.css */
.cg-card.is-loading{box-shadow:none;transform:none}
/* families/cards-gallery/family.css */
.cg-acts{display:flex;flex-direction:column;padding:0 var(--s-2)}
/* families/cards-gallery/family.css */
.cg-acts .mi{height:var(--control-h-m-lg);font-size:var(--text-read)}
/* families/cards-gallery/family.css */
.cg-card.is-disabled .cg-swatch>.cg-fab{opacity:.5}
/* families/cards-gallery/family.css */
.cg-acts .cg-sep{margin:var(--s-1) 0}
