/* One product component, with conversational emphasis. Images and 3D stay mounted. */
html[data-profile=touch32] body.minimal #app .mini-card{height:350px;position:relative;padding:18px 20px}
html[data-profile=touch32] body.minimal #app .mini-card .product-image{height:172px;min-height:172px}
html[data-profile=touch32] body.minimal #app .mini-card-meta{display:block;min-height:0;margin-top:4px}
html[data-profile=touch32] body.minimal #app .mini-card-meta>button{position:absolute;right:12px;top:12px;width:60px;height:60px;background:none;color:var(--ink);border-color:transparent;font-size:34px;z-index:2}
html[data-profile=touch32] body.minimal #app .touch-card-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
html[data-profile=touch32] body.minimal #app .touch-card-heading h3{font-size:28px;line-height:1.15;margin:0 0 7px;min-width:0;overflow-wrap:anywhere}
html[data-profile=touch32] body.minimal #app .touch-card-price{font-size:22px;white-space:nowrap;color:var(--touch-secondary)}
html[data-profile=touch32] body.minimal #app .touch-card-specs{display:flex;gap:8px 15px;flex-wrap:wrap;margin-top:11px;color:var(--touch-secondary);font-size:18px;line-height:1.3}
html[data-profile=touch32] body.minimal #app .touch-card-fact:not(:first-child){border-left:1px solid var(--line);padding-left:15px}
html[data-profile=touch32] body.minimal #app .touch-fact-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
html[data-profile=touch32] body.minimal #app .touch-card-focus{display:flex;align-items:baseline;gap:10px;margin-top:10px;line-height:1.2;color:var(--ink)}
html[data-profile=touch32] body.minimal #app .touch-card-focus>span{font-size:17px;color:var(--touch-secondary)}
html[data-profile=touch32] body.minimal #app .touch-card-focus strong{font-size:25px;font-weight:500;color:var(--ink)}
html[data-profile=touch32] body.minimal #app .mini-card:not([data-emphasis=auto]):not([data-emphasis=price]) .touch-card-specs{margin-top:6px;font-size:16px}
html[data-profile=touch32] body.minimal #app .mini-card[data-emphasis=price] .touch-card-price{font-size:29px;font-weight:500;color:var(--ink)}
html[data-profile=touch32] body.minimal #app .touch-purchase-stamp{position:absolute;top:20px;left:20px;right:75px;display:flex;align-items:center;gap:7px;font-size:15px;line-height:1.3;letter-spacing:.02em;color:var(--ink);pointer-events:none}
html[data-profile=touch32] body.minimal #app .touch-purchase-stamp svg{width:20px;height:20px;flex:none}
html[data-profile=touch32] body.minimal #app .touch-colour i,
html[data-profile=touch32] body.minimal #app .comparison-colour-disc{border-radius:50%;overflow:hidden;background-size:cover;background-position:center}
/* Keep a generous touch target; the colour and selection ring are both circular. */
html[data-profile=touch32] body.minimal #app .swatch {
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50% !important;
  background: transparent;
  overflow: visible;
  flex-shrink: 0;
}
html[data-profile=touch32] body.minimal #app .swatch>span{display:block;border-radius:50%;overflow:hidden;border:1px solid var(--line);background-size:cover;background-position:center}
html[data-profile=touch32] body.minimal #app .swatch:is(.active,[aria-pressed=true]){border:1px solid var(--ink);outline:none}
html[data-profile=touch32] body.minimal #app .swatch:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
html[data-profile=touch32][data-touch-theme=white-city] body.minimal #app :is(.touch-card-focus strong,.touch-purchase-stamp,.mini-card[data-emphasis=price] .touch-card-price){color:var(--ink)}
html[data-profile=touch32][data-touch-theme=white-city] body.minimal #app .swatch.active{border:1px solid var(--ink);outline:none}

@media(prefers-reduced-motion:no-preference){html[data-profile=touch32] body.minimal #app :is(.touch-card-focus,.touch-purchase-stamp){animation:touch-fact-enter .35s ease both}@keyframes touch-fact-enter{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}}

.touch-online-favourite {
 display: block;
 margin-top: .35em;
 font-size: .72em;
 color: inherit;
 opacity: .8;
}
