/* Shape picker: five silhouette families, each with the lengths the guide offers.
   Grouping by family removes the shape x length cross-tabulation the flat grid forced. */
.au-shape-picker{min-width:0;margin:0;padding:0;border:0}
.au-shape-picker legend{font-size:var(--text-md);font-weight:500;color:var(--ink);margin-bottom:var(--space-2)}
.au-shape-hint{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4)}
.au-shape-families{display:grid;gap:var(--space-5)}
.au-shape-family{min-width:0}
.au-shape-family-head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}
.au-shape-family-name{font-size:var(--text-md);font-weight:600;color:var(--ink)}
.au-shape-family-hint{font-size:var(--text-sm);color:var(--muted)}
.au-shape-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.au-shape-option{position:relative;display:block;min-width:0;cursor:pointer}
.au-shape-radio{position:absolute;width:100%;height:100%;padding:0;margin:0;opacity:0;inset:0;z-index:1;cursor:pointer}
.au-shape-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;height:100%;min-height:148px;padding:var(--space-3) var(--space-2);border:1px solid var(--control);border-radius:var(--radius-tile);background:var(--surface);text-align:center;transition:border-color var(--duration),background var(--duration)}
.au-nail-silhouette{width:52px;height:60px;flex-shrink:0;margin-bottom:var(--space-2);fill:var(--blush);stroke:var(--control);stroke-width:1.5;stroke-linejoin:round}
.au-shape-name{font-size:var(--text-xs);line-height:1.35;font-weight:500;color:var(--ink);max-width:100%}
.au-shape-length{font-size:var(--text-2xs);color:var(--muted);margin-top:auto;padding-top:var(--space-1);font-variant-numeric:tabular-nums}
.au-shape-check{position:absolute;right:5px;top:5px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;opacity:0}
.au-shape-check .au-icon{width:12px;height:12px;stroke-width:2.5}
.au-shape-option:hover .au-shape-tile{border-color:var(--primary)}
.au-shape-radio:checked+.au-shape-tile{border-color:var(--primary);background:var(--blush);box-shadow:inset 0 0 0 1px var(--primary)}
.au-shape-radio:checked+.au-shape-tile .au-shape-check{opacity:1}
.au-shape-radio:checked+.au-shape-tile .au-nail-silhouette{stroke:var(--primary);fill:var(--tile-selected)}
.au-shape-radio:focus-visible+.au-shape-tile{outline:2px solid var(--primary);outline-offset:3px}
.au-shape-note{margin-top:var(--space-4)}
@media(max-width:359px){.au-shape-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Product detail: one flat grid, small tiles. Choosing fast matters more than
   comparing carefully here — the side-by-side comparison lives in the size guide. */
.au-shape-options--compact{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:var(--space-2)}
.au-shape-picker .au-shape-tile{min-height:0;padding:var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-chip)}
.au-shape-picker .au-nail-silhouette{width:34px;height:40px;margin-bottom:var(--space-1)}
.au-shape-picker .au-shape-name{font-size:var(--text-2xs);line-height:1.25}
.au-shape-picker .au-shape-length{font-size:var(--text-micro);padding-top:2px}
.au-shape-picker .au-shape-check{right:3px;top:3px;width:15px;height:15px}
.au-shape-picker .au-shape-check .au-icon{width:10px;height:10px}
.au-shape-picker .au-shape-hint{margin-bottom:var(--space-3)}
.au-shape-picker .au-shape-note{margin-top:var(--space-3)}
@media(max-width:359px){.au-shape-options--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
