/* AT — Colour swatches (single product + shop cards). See inc/colour-swatches.php. */
.at-swatches-select{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.at-swatches{margin:0 0 6px}
.at-swatches__label{font-size:14px;color:var(--text-muted);margin:0 0 12px}
.at-swatches__label strong{color:var(--text-strong);font-weight:700}
.at-swatches__list{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none}
.at-swatches__list li{margin:0;padding:0}
.at-swatch{position:relative;display:block;width:44px;height:44px;border-radius:50%;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.at-swatch::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--at-sw,var(--neutral-100));box-shadow:inset 0 0 0 1px rgba(16,24,40,.14)}
.at-swatch::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid transparent;transition:border-color .15s}
.at-swatch:hover::after{border-color:var(--border-default)}
.at-swatch[aria-pressed="true"]::after{border-color:var(--navy-900)}
.at-swatch:focus-visible{outline:3px solid var(--steel-600);outline-offset:2px}
.at-swatch__abbr{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-strong);text-transform:uppercase}
.at-swatch__tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--navy-900);color:#fff;font-size:12px;font-weight:700;line-height:1;padding:6px 9px;border-radius:var(--radius-sm);opacity:0;pointer-events:none;transition:opacity .15s;z-index:3}
.at-swatch:hover .at-swatch__tip,.at-swatch:focus-visible .at-swatch__tip{opacity:1}
.at-swatch.is-out{cursor:not-allowed}
.at-swatch.is-out::before{background:linear-gradient(135deg,transparent calc(50% - 1px),#5b6475 calc(50% - 1px),#5b6475 calc(50% + 1px),transparent calc(50% + 1px)),var(--at-sw,var(--neutral-100));opacity:.45}
.at-swatch.is-out .at-swatch__abbr{opacity:.45}
.at-swatch.is-hidden{display:none}
/* Hide Woo's per-row label (our swatch block has its own) and keep "Clear" tidy. */
.variations tr:has(.at-swatches) th.label{display:none}
.variations tr:has(.at-swatches) td.value{padding-left:0}
.variations .reset_variations{display:inline-block;margin-top:10px;font-size:13px}

/* Shop / category cards */
.at-lswatches{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 12px;box-sizing:border-box;width:100%}
.wc-block-product .at-lswatches:not(.is-placed){visibility:hidden}
.at-lswatch{position:relative;display:block;width:22px;height:22px;border-radius:50%;flex:none;text-decoration:none}
.at-lswatch::before{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--at-sw,var(--neutral-100));box-shadow:inset 0 0 0 1px rgba(16,24,40,.16)}
.at-lswatch::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid transparent;transition:border-color .15s}
.at-lswatch:hover::after,.at-lswatch:focus-visible::after{border-color:var(--navy-900)}
.at-lswatch:focus-visible{outline:2px solid var(--steel-600);outline-offset:2px}
.at-lswatch--text{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-strong);text-transform:uppercase}
.at-lswatch--text::before{z-index:-1}
.at-lswatch-more{font-size:12px;font-weight:600;color:var(--text-muted);text-decoration:none;padding:0 2px}
.at-lswatch-more:hover{color:var(--text-strong)}
@media (pointer:coarse){.at-lswatch{width:28px;height:28px}}
