/* Classic collection. Geometry only; the shared menu dispatches every action. */
html body .yl-cart-menu.yl-card-fan[data-cart-classic] {
  --classic-accent: #0b9630;
  --classic-deep: #087221;
  background: linear-gradient(transparent 35%, rgba(255,255,255,calc(.92 * var(--cart-menu-opacity,1)))) !important;
  backdrop-filter: none;
}
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__stage {
  width: 94%; max-width: 350px; height: 100%; aspect-ratio: auto;
}
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button {
  --w: min(14%, 42px); --h: auto;
  aspect-ratio: 1; border-width: 1px; padding: 0; border-radius: 50%;
  box-shadow: 0 4px 9px #172b4d20;
}
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button i { font-size: clamp(16px, 7cqw, 26px); }
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button:not(.yl-card-fan__button--cart) span { display: none; }
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button--cart {
  --w: 88%; --h: 22%; aspect-ratio: auto; flex-direction: row; gap: 9px;
  border-radius: var(--yl-theme-radius, 9px); border: 1px solid #ffffff40;
  background: linear-gradient(180deg, var(--classic-accent), var(--classic-deep)); color: #fff;
  font-size: clamp(11px, 5.2cqw, 17px); font-weight: 700;
}
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button--cart i { color: inherit; font-size: clamp(20px, 10cqw, 32px); }
html body .yl-cart-menu.yl-card-fan[data-cart-classic][data-classic-labels="1"] .yl-card-fan__button:not(.yl-card-fan__button--cart) {
  --classic-gap: clamp(4px, 2cqw, 8px);
  --w: min(calc(23% - var(--classic-gap)), calc(94% / var(--classic-count) - var(--classic-gap))); --h: 27%; aspect-ratio: auto;
  border-radius: var(--yl-theme-radius, 9px); background: #f6f7fa; color: #15253b; border-color: #edf0f4; box-shadow: none; gap: 5px;
}
html body .yl-cart-menu.yl-card-fan[data-cart-classic][data-classic-labels="1"] .yl-card-fan__button:not(.yl-card-fan__button--cart) span {
  display: block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; font-size: clamp(7px, 2.8cqw, 11px); line-height: 1.1; padding: 0 2px;
}
html body .yl-cart-menu.yl-card-fan[data-cart-classic][data-classic-labels="1"] .yl-card-fan__button.yl-card-fan__button--compare span { font-size: clamp(6px, 2.1cqw, 9px); }
html body .yl-cart-menu.yl-card-fan[data-cart-classic="rail"] { background: transparent !important; }
html body .yl-cart-menu.yl-card-fan[data-cart-classic="rail"] .yl-card-fan__button:not(.yl-card-fan__button--cart) { --w: min(13%, calc(var(--cart-menu-height, 190px) * .6 / var(--classic-count))); }
html body .yl-cart-menu.yl-card-fan[data-cart-classic="rail"] .yl-card-fan__button:not(.yl-card-fan__button--cart) i { font-size: min(6cqw, calc(var(--cart-menu-height, 190px) * .42 / var(--classic-count))); }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_glass"] .yl-card-fan__button:not(.yl-card-fan__button--cart) { background: #fff; color: #263449; border-color: #fff; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_glass"] .yl-card-fan__button--cart {
  background: linear-gradient(#ffffff70, #a4bbd378); border: 1px solid #fff; backdrop-filter: blur(12px); color: #172e45; box-shadow: inset 0 0 12px #fff9, 0 4px 14px #284d7130;
}
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_minimal"] { --classic-accent: #3c526c; --classic-deep: #263c58; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_minimal"][data-classic-labels="1"] .yl-card-fan__button:not(.yl-card-fan__button--cart) { background: transparent; border: 0; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_corner"] { --classic-accent: #ff9b08; --classic-deep: #ef6500; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_corner"] .yl-card-fan__button:not(.yl-card-fan__button--cart) { background: #fff; color: var(--color); border-color: #e9edf2; }
html body .yl-cart-menu.yl-card-fan:is([data-cart-model="classic_dark"], [data-cart-model="classic_neon"]) { background: linear-gradient(transparent 25%, rgba(1,20,26,calc(.94 * var(--cart-menu-opacity,1)))) !important; }
html body .yl-cart-menu.yl-card-fan:is([data-cart-model="classic_dark"], [data-cart-model="classic_neon"]) .yl-card-fan__button { background: #062832; color: #e7fcff; border: 1px solid #c1dce1; box-shadow: inset 0 0 8px #22d3ee25; }
html body .yl-cart-menu.yl-card-fan:is([data-cart-model="classic_dark"], [data-cart-model="classic_neon"]) .yl-card-fan__button--cart { background: linear-gradient(#08313d, #001b22); border-color: #84f5ff; box-shadow: inset 0 0 12px #08d6eb70, 0 0 8px #08d6eb80; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_neon"] .yl-card-fan__button:not(.yl-card-fan__button--cart) { border-color: var(--light); color: #fff; box-shadow: 0 0 6px var(--light), inset 0 0 6px var(--color); }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_color"] { --classic-accent: #b635ee; --classic-deep: #6513ad; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_leaf"] { --classic-accent: #79bc00; --classic-deep: #409700; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_leaf"] .yl-card-fan__button:not(.yl-card-fan__button--cart) { background: #fbfefb; color: #08743d; border-color: #e1ebdc; border-radius: var(--yl-theme-radius, 9px); }
html body .yl-cart-menu.yl-card-fan[data-cart-model="classic_shop"] { --classic-accent: #ed2227; --classic-deep: #c7070e; }
/* Rainbow is the reference palette; explicit palette selections still take priority. */
html body .yl-cart-menu.yl-card-fan[data-cart-classic]:not([data-cart-palette="rainbow"]) { --classic-accent: var(--palette-light); --classic-deep: var(--palette-dark); }
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button.is-selected { outline: 2px solid currentColor; outline-offset: 2px; }
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button:disabled { opacity: .4; filter: grayscale(1); }
html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button:focus-visible { outline: 2px solid #ffb000; outline-offset: 3px; }
/* Left/right placement: a single column attached to the card edge. */
html body .yl-cart-popover.yl-cart-popover--classic-side { border: 0; background: transparent; box-shadow: none; }
html body .yl-cart-popover--classic-side > :is(.yl-cart-popover-title, .yl-cart-popover-close) { display: none; }
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side] { background: transparent !important; overflow: visible; }
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side] .yl-card-fan__stage {
  --classic-side-size: min(34px, calc((var(--cart-menu-height) - (var(--cart-side-count) - 1) * var(--cart-side-gap, 4px)) / var(--cart-side-count)));
  display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(var(--cart-side-count), minmax(0, 1fr));
  place-items: center end; gap: var(--cart-side-gap, 4px); padding: 0; margin: 0; box-sizing: border-box; width: 100%; height: 100%; max-width: none; aspect-ratio: auto;
}
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side="left"] .yl-card-fan__stage { justify-items: start; }
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side] .yl-card-fan__stage::before,
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side] .yl-card-fan__stage::after { display: none; }
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side] .yl-card-fan__button {
  position: relative !important; inset: auto !important; width: var(--classic-side-size) !important; height: var(--classic-side-size) !important;
  min-height: 0; margin: 0; padding: 0; transform: none !important; aspect-ratio: 1; gap: 0;
}
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side] .yl-card-fan__button span { display: none !important; }
html body .yl-cart-menu.yl-card-fan[data-cart-compact-side][data-cart-side] .yl-card-fan__button i { font-size: min(24px, calc(var(--classic-side-size) * .6)) !important; }
@media (prefers-reduced-motion: reduce) {
  html body .yl-cart-menu.yl-card-fan[data-cart-classic], html body .yl-cart-menu.yl-card-fan[data-cart-classic] .yl-card-fan__button { transition: none; }
}
