/* One menu renderer, ten distinct layouts; shared by settings previews and cards. */
html body .yl-cart-menu.yl-card-fan {
  --cart-radius: var(--yl-theme-radius, var(--yl-theme-radius-config, 9px));
  position: absolute; inset: var(--cart-menu-top, 0px) 0 auto;
  height: var(--cart-menu-height, 240px); width: 100%; z-index: 100;
  display: grid; place-items: center; overflow: hidden;
  background: rgba(15, 23, 42, calc(.24 * var(--cart-menu-opacity, 1))); backdrop-filter: blur(.6px);
  border-radius: inherit; opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 40ms linear 238ms, visibility 0s linear 278ms;
}
html body .yl-fan-open .yl-cart-menu.yl-card-fan { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button[hidden] { display: none !important; }
html body.yl-cart-models-enabled .yl-cart-menu.yl-card-fan { inset: var(--cart-menu-top, 0px) 0 auto; height: var(--cart-menu-height, 240px); }
html body.yl-cart-models-enabled.yl-cart-placement-bottom.yl-product-card-style3 { --yl-style3-info-h: 190px; }
html body.yl-cart-models-enabled.yl-cart-placement-bottom:not(.yl-product-card-style3) .yl-cart-menu-host { height: auto !important; min-height: var(--cart-min-height, 0px) !important; }
html body.yl-cart-models-enabled .yl-cart-menu.yl-card-fan { background: rgba(245, 248, 250, var(--cart-menu-opacity, 1)); backdrop-filter: none; border-radius: 0; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__stage {
  position: relative; width: min(90%, 240px, calc(var(--cart-menu-height, 240px) - 12px));
  height: auto; aspect-ratio: 1; container-type: inline-size;
}
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button {
  position: absolute; left: var(--x, 50%); top: var(--y, 50%);
  width: var(--w, 32%); height: var(--h, 32%); aspect-ratio: auto;
  padding: 1cqw; margin: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1cqw;
  box-sizing: border-box;
  border: .8cqw solid #fff; border-radius: var(--cart-rect-radius, var(--radius, 50%));
  color: #fff; background: linear-gradient(145deg, var(--light), var(--color));
  box-shadow: 0 3px 9px #0f172a26;
  font-family: inherit; font-size: 4cqw; font-weight: 600; line-height: 1.1;
  text-align: center; text-decoration: none; cursor: pointer; min-width: 0;
  transform: translate(-50%, -50%) translateY(12px) scale(.8); opacity: 0;
  transition: transform 130ms ease, opacity 130ms ease, background 130ms ease;
  transition-delay: calc((6 - var(--fan-step, 0)) * 18ms);
}
html body .yl-fan-open .yl-cart-menu.yl-card-fan .yl-card-fan__button { transform: translate(-50%, -50%); opacity: var(--cart-menu-opacity, 1); transition-delay: calc(var(--fan-step, 0) * 18ms); }
html body .yl-fan-open .yl-cart-menu.yl-card-fan .yl-card-fan__button:is(:hover, :focus-visible):not(:disabled) { opacity: 1; transition-delay: 0s; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button i { font-size: 10cqw; line-height: 1; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button span { max-width: 100%; overflow-wrap: normal; word-break: normal; hyphens: none; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button:hover { filter: brightness(1.08); z-index: 4; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button:focus-visible { outline: 2px solid #0f172a; outline-offset: 2px; z-index: 5; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button:disabled { opacity: .45; filter: grayscale(.8); cursor: not-allowed; }
.yl-cart-menu .yl-card-fan__button--favorite { --x: 50%; --y: 17%; --light: #ff5295; --color: #d91765; }
.yl-cart-menu .yl-card-fan__button--question { --x: 79%; --y: 33.5%; --light: #25b7ff; --color: #007abe; }
.yl-cart-menu .yl-card-fan__button--question[data-fan-action="video"] { --light: #ff6671; --color: #d12031; }
.yl-cart-menu .yl-card-fan__button--share { --x: 79%; --y: 66.5%; --light: #10cbb6; --color: #008676; }
.yl-cart-menu .yl-card-fan__button--preview { --x: 50%; --y: 83%; --light: #ffd52a; --color: #dc9600; }
.yl-cart-menu .yl-card-fan__button--analysis { --x: 21%; --y: 66.5%; --light: #a15bff; --color: #6221c4; }
.yl-cart-menu .yl-card-fan__button--compare { --x: 21%; --y: 33.5%; --light: #ffb130; --color: #e47c00; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button--cart {
  --w: 40%; --h: 40%; z-index: 3; background: linear-gradient(145deg, #fff, #e8f1ed);
  color: #13322c; font-size: 5.5cqw; font-weight: 700;
}
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button--cart i { font-size: 14cqw; color: #08a83e; }
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button.is-selected {
  background: #fff0f5; color: #be124a; border-color: #f22e78; box-shadow: 0 0 0 1px #fff, 0 3px 12px #a00b3930;
}
html body .yl-cart-menu.yl-card-fan [data-fan-action="compare"].is-selected { background: #dcfce7; color: #166534; border-color: #16a34a; }

/* 2: bottom dock */
html body .yl-cart-menu.yl-card-fan[data-cart-model="dock"] { background: linear-gradient(transparent 30%, rgba(16,40,58,calc(.6 * var(--cart-menu-opacity, 1)))); backdrop-filter: none; }
.yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button { --w: 14%; --h: 14%; --y: 64%; }
.yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button:nth-child(1) { --x: 10%; }
.yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button:nth-child(2) { --x: 26%; }
.yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button:nth-child(3) { --x: 42%; }
.yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button:nth-child(4) { --x: 58%; }
.yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button:nth-child(5) { --x: 74%; }
.yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button:nth-child(6) { --x: 90%; }
html body .yl-cart-menu[data-cart-model="dock"] .yl-card-fan__button--cart { --w: 96%; --h: 23%; --x: 50%; --y: 88%; --radius: 12px; flex-direction: row; }
html body .yl-cart-menu:is([data-cart-model="dock"], [data-cart-model="rail"], [data-cart-model="corner"], [data-cart-model="split"]) .yl-card-fan__button:not(.yl-card-fan__button--cart) span { display: none; }
html body .yl-cart-menu:is([data-cart-model="dock"], [data-cart-model="rail"], [data-cart-model="corner"], [data-cart-model="split"]) .yl-card-fan__button:not(.yl-card-fan__button--cart) i { font-size: 8cqw; }

/* 3: right rail */
html body .yl-cart-menu.yl-card-fan[data-cart-model="rail"] { background: linear-gradient(90deg, transparent 35%, rgba(20,37,53,calc(.4 * var(--cart-menu-opacity, 1)))); backdrop-filter: none; }
html body .yl-cart-menu.yl-card-fan[data-cart-model="rail"] .yl-card-fan__stage { justify-self: end; margin-right: 4px; }
.yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button { --x: 91%; --w: 14%; --h: 14%; }
.yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button:nth-child(1) { --y: 9%; }
.yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button:nth-child(2) { --y: 25%; }
.yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button:nth-child(3) { --y: 41%; }
.yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button:nth-child(4) { --y: 57%; }
.yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button:nth-child(5) { --y: 73%; }
.yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button:nth-child(6) { --y: 89%; }
html body .yl-cart-menu[data-cart-model="rail"] .yl-card-fan__button--cart { --x: 36%; --y: 77%; --w: 61%; --h: 30%; --radius: 12px; }

/* 4: square tile grid */
.yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button { --w: 30%; --h: 27%; --radius: 10px; }
.yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button:nth-child(1) { --x: 17%; --y: 20%; }
.yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button:nth-child(2) { --x: 50%; --y: 20%; }
.yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button:nth-child(3) { --x: 83%; --y: 20%; }
.yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button:nth-child(4) { --x: 17%; --y: 51%; }
.yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button:nth-child(5) { --x: 50%; --y: 51%; }
.yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button:nth-child(6) { --x: 83%; --y: 51%; }
html body .yl-cart-menu[data-cart-model="tiles"] .yl-card-fan__button--cart { --x: 50%; --y: 84%; --w: 96%; --h: 24%; --radius: 10px; flex-direction: row; }

/* 5: bottom sheet */
html body .yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__stage { background: rgba(255,255,255,var(--cart-menu-opacity, 1)); border-radius: var(--cart-radius) var(--cart-radius) 0 0; box-shadow: 0 -5px 20px #0f172a33; align-self: end; }
html body .yl-fan-open .yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__stage { transform: none; }
html body .yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button { --w: 28%; --h: 23%; --radius: 12px; background: #f0f5f6; color: #20434a; border: 0; box-shadow: none; font-size: 3.8cqw; }
.yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button:nth-child(1) { --x: 18%; --y: 55%; }
.yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button:nth-child(2) { --x: 50%; --y: 55%; }
.yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button:nth-child(3) { --x: 82%; --y: 55%; }
.yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button:nth-child(4) { --x: 18%; --y: 83%; }
.yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button:nth-child(5) { --x: 50%; --y: 83%; }
.yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button:nth-child(6) { --x: 82%; --y: 83%; }
html body .yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button--cart { --w: 92%; --h: 27%; --x: 50%; --y: 21%; --radius: 14px; flex-direction: row; background: #116b5c; color: #fff; }
html body .yl-cart-menu[data-cart-model="sheet"] .yl-card-fan__button--cart i { color: #fff; }

/* 6: split purchase panel */
.yl-cart-menu[data-cart-model="split"] .yl-card-fan__button { --w: 19%; --h: 19%; }
.yl-cart-menu[data-cart-model="split"] .yl-card-fan__button:nth-child(1) { --x: 67%; --y: 28%; }
.yl-cart-menu[data-cart-model="split"] .yl-card-fan__button:nth-child(2) { --x: 89%; --y: 28%; }
.yl-cart-menu[data-cart-model="split"] .yl-card-fan__button:nth-child(3) { --x: 67%; --y: 50%; }
.yl-cart-menu[data-cart-model="split"] .yl-card-fan__button:nth-child(4) { --x: 89%; --y: 50%; }
.yl-cart-menu[data-cart-model="split"] .yl-card-fan__button:nth-child(5) { --x: 67%; --y: 72%; }
.yl-cart-menu[data-cart-model="split"] .yl-card-fan__button:nth-child(6) { --x: 89%; --y: 72%; }
html body .yl-cart-menu[data-cart-model="split"] .yl-card-fan__button--cart { --w: 52%; --h: 52%; --x: 28%; --y: 50%; background: #102e39; color: white; font-size: 7cqw; }
html body .yl-cart-menu[data-cart-model="split"] .yl-card-fan__button--cart i { font-size: 22cqw; color: #56efbc; }

/* 7: hexagonal honeycomb */
html body .yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button { --w: 32%; --h: 34%; --radius: 0; clip-path: polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); border: 0; padding: 3cqw; font-size: 3.5cqw; }
.yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button:nth-child(1) { --x: 33%; --y: 19%; }
.yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button:nth-child(2) { --x: 67%; --y: 19%; }
.yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button:nth-child(3) { --x: 84%; --y: 50%; }
.yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button:nth-child(4) { --x: 67%; --y: 81%; }
.yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button:nth-child(5) { --x: 33%; --y: 81%; }
.yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button:nth-child(6) { --x: 16%; --y: 50%; }
html body .yl-cart-menu[data-cart-model="honeycomb"] .yl-card-fan__button--cart { --w: 32%; --h: 34%; font-size: 4.5cqw; }

/* 8: text action list */
html body .yl-cart-menu[data-cart-model="list"] .yl-card-fan__stage { background: rgba(255,255,255,var(--cart-menu-opacity, 1)); border-radius: var(--cart-radius); box-shadow: 0 8px 30px #0f172a40; }
html body .yl-cart-menu[data-cart-model="list"] .yl-card-fan__button { --x: 50%; --w: 91%; --h: 11%; --radius: 5px; flex-direction: row; justify-content: flex-start; gap: 5cqw; padding: 1cqw 4cqw; border: 0; box-shadow: none; background: #f3f6fa; color: #203249; font-size: 4.3cqw; }
html body .yl-cart-menu[data-cart-model="list"] .yl-card-fan__button i { font-size: 6cqw; }
.yl-cart-menu[data-cart-model="list"] .yl-card-fan__button:nth-child(1) { --y: 9%; }
.yl-cart-menu[data-cart-model="list"] .yl-card-fan__button:nth-child(2) { --y: 22%; }
.yl-cart-menu[data-cart-model="list"] .yl-card-fan__button:nth-child(3) { --y: 35%; }
.yl-cart-menu[data-cart-model="list"] .yl-card-fan__button:nth-child(4) { --y: 48%; }
.yl-cart-menu[data-cart-model="list"] .yl-card-fan__button:nth-child(5) { --y: 61%; }
.yl-cart-menu[data-cart-model="list"] .yl-card-fan__button:nth-child(6) { --y: 74%; }
html body .yl-cart-menu[data-cart-model="list"] .yl-card-fan__button--cart { --y: 90%; --w: 91%; --h: 15%; justify-content: center; background: #183d69; color: white; }
html body .yl-cart-menu[data-cart-model="list"] .yl-card-fan__button--cart i { color: white; }

/* 9: corner fan */
html body .yl-cart-menu.yl-card-fan[data-cart-model="corner"] { background: linear-gradient(135deg, transparent, rgba(8,47,73,calc(.667 * var(--cart-menu-opacity, 1)))); backdrop-filter: none; }
.yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button { --w: 20%; --h: 20%; }
.yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button:nth-child(1) { --x: 13%; --y: 85%; }
.yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button:nth-child(2) { --x: 16%; --y: 58%; }
.yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button:nth-child(3) { --x: 32%; --y: 34%; }
.yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button:nth-child(4) { --x: 57%; --y: 18%; }
.yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button:nth-child(5) { --x: 84%; --y: 13%; }
.yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button:nth-child(6) { --x: 55%; --y: 55%; }
html body .yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button--cart { --x: 82%; --y: 82%; --w: 33%; --h: 33%; font-size: 4.2cqw; }
html body .yl-cart-menu[data-cart-model="corner"] .yl-card-fan__button { transform-origin: 100% 100%; }

/* 10: ticket, with three actions above and below the central purchase strip */
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button { --w: 29%; --h: 26%; --radius: 9px; }
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button:nth-child(1) { --x: 17%; --y: 17%; }
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button:nth-child(2) { --x: 50%; --y: 17%; }
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button:nth-child(3) { --x: 83%; --y: 17%; }
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button:nth-child(4) { --x: 17%; --y: 83%; }
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button:nth-child(5) { --x: 50%; --y: 83%; }
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button:nth-child(6) { --x: 83%; --y: 83%; }
html body .yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button--cart { --w: 98%; --h: 29%; --radius: 0; flex-direction: row; border: 2px dashed #a87818; background: #fff0c3; color: #523b0a; clip-path: polygon(0 0,100% 0,100% 32%,96% 50%,100% 68%,100% 100%,0 100%,0 68%,4% 50%,0 32%); }

/* Rectangular controls use the same radius source as the site. Shape models retain their geometry. */
.yl-cart-menu:is([data-cart-model="dock"], [data-cart-model="rail"], [data-cart-model="tiles"], [data-cart-model="sheet"], [data-cart-model="split"], [data-cart-model="list"], [data-cart-model="ticket"]) { --cart-rect-radius: var(--cart-radius); }
.yl-cart-menu[data-cart-model="ticket"] .yl-card-fan__button--cart { --cart-rect-radius: 0; }

/* Selection wins over each model's local palette. */
html body .yl-cart-menu.yl-card-fan .yl-card-fan__button.is-selected { background: #ffe3ee; color: #b91046; border: 2px solid #e82e70; }
html body .yl-cart-menu.yl-card-fan [data-fan-action="compare"].is-selected { background: #d7f8e3; color: #126333; border-color: #18914b; }
/* The body flag is server-rendered and this stylesheet blocks first paint. Match
   original card markup, not JS readiness: deferred scripts and fresh slider clones
   must never briefly expose the old controls. Keep sources for existing handlers.
   Specificity must beat style3's seven-class mobile visibility override even when
   a module stylesheet arrives later. */
html body.yl-cart-models-enabled.yl-cart-models-enabled.yl-cart-models-enabled.yl-cart-models-enabled :is(.yl-cart-menu-host, .yl-opv2-card, .yl-quick-card, .yl-product-list-item, .yl-mis-card, .yl-plv-item, .yl-op-slide, .yl-aab-card-shell, .yl-scb-product-card):not(.yl-home-opportunity-col .yl-plv-item) :is(.yl-opv2-actions.yl-opv2-actions.yl-opv2-actions, .yl-quick-add-btn.yl-quick-add-btn.yl-quick-add-btn, .yl-aab-hover-cta.yl-aab-hover-cta.yl-aab-hover-cta, .yl-op-action-buttons, .js-yl-quick-add, .js-yl-related-opv2-add, .yl-opv2-cart-btn) {
  opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
  transition: none !important;
}
@media (min-width: 768px) {
  html body.yl-cart-models-enabled .yl-fan-ready { position: relative; }
}
@media (max-width: 767.98px) {
  html body.yl-cart-models-enabled .yl-cart-menu-toggle { display: grid; }
}
.yl-cart-menu-toggle { display: none; position: absolute; bottom: 6px; right: 6px; z-index: 110; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid #d3e0e4; background: #fff; color: #23434b; box-shadow: 0 2px 7px #0f172a26; }
html body.yl-cart-models-enabled :is(.yl-aab-card-shell, .yl-scb-product-card, .yl-op-slide).yl-cart-menu-host { position: relative; }
html body.yl-cart-models-enabled .yl-aab-card-shell.yl-cart-menu-host:is(:hover, :focus-within) .yl-aab-card { transform: none; }
html body.yl-cart-models-enabled .yl-scb-product-card.yl-cart-menu-host .yl-scb-card:is(:hover, :focus-visible) { transform: none; }
/* Fade slides overlap. Explicit child pointer rules must not reactivate hidden slides. */
html body.yl-cart-models-enabled :is(.js-yl-aab-swiper, .yl-scb .swiper).swiper-fade .swiper-slide:not(.swiper-slide-active),
html body.yl-cart-models-enabled :is(.js-yl-aab-swiper, .yl-scb .swiper).swiper-fade .swiper-slide:not(.swiper-slide-active) * { pointer-events: none !important; }
html body.yl-cart-models-enabled.yl-cart-placement-bottom :is(.yl-aab-card-shell, .yl-scb-product-card, .yl-op-slide).yl-cart-menu-host { min-height: var(--cart-min-height, 0px) !important; }
@media (hover: none) { html body.yl-cart-models-enabled .yl-cart-menu-toggle { display: grid; } }
@media (prefers-reduced-motion: reduce) {
  html body .yl-cart-menu.yl-card-fan, html body .yl-cart-menu.yl-card-fan * { transition: none !important; }
}
.yl-fan-preview .modal-dialog { max-width: 500px; }
.yl-fan-preview .modal-content { border: 0; border-radius: var(--yl-theme-radius, 14px); overflow: hidden; }
.yl-fan-preview .modal-header { background: #f5f8f9; }
.yl-fan-preview .modal-body { max-height: calc(100dvh - 180px); overflow-y: auto; }
.yl-fan-preview .yl-char-counter { text-align: right; font-size: 12px; color: #667085; }
.yl-fan-preview .yl-captcha-obf { display: inline-flex; gap: 3px; font-style: italic; }
.yl-fan-preview__status { padding: 16px; }
.yl-fan-analysis-summary { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding: 16px; background: #f5faf9; }
.yl-fan-analysis-summary > div { flex: 1 1 160px; min-width: 0; }
.yl-fan-analysis-summary small, .yl-fan-analysis-summary strong { display: block; overflow-wrap: anywhere; }

[data-cart-palette="theme"] { --palette-light: var(--yl-theme-primary, #187f75); --palette-dark: var(--yl-theme-primary-dark, #105b54); }
[data-cart-palette="ocean"] { --palette-light: #2679de; --palette-dark: #174797; }
[data-cart-palette="emerald"] { --palette-light: #158e69; --palette-dark: #0c5943; }
[data-cart-palette="violet"] { --palette-light: #8d4bda; --palette-dark: #512392; }
[data-cart-palette="rose"] { --palette-light: #d53778; --palette-dark: #941747; }
[data-cart-palette="amber"] { --palette-light: #b9750c; --palette-dark: #80500b; }
[data-cart-palette="slate"] { --palette-light: #52637b; --palette-dark: #18283d; }
[data-cart-palette="coral"] { --palette-light: #db593c; --palette-dark: #a12e20; }
[data-cart-palette="ice"] { --palette-light: #148ca9; --palette-dark: #11576c; }
html body .yl-cart-menu.yl-card-fan[data-cart-palette]:not([data-cart-palette="rainbow"]) .yl-card-fan__button:not(.yl-card-fan__button--cart):not(.is-selected) { background: linear-gradient(145deg, var(--palette-light), var(--palette-dark)); color: #fff; }
html body .yl-cart-menu.yl-card-fan[data-cart-palette]:not([data-cart-palette="rainbow"]) .yl-card-fan__button--cart { background: #fff; color: var(--palette-dark); border-color: var(--palette-light); }
html body .yl-cart-menu.yl-card-fan[data-cart-palette]:not([data-cart-palette="rainbow"]) .yl-card-fan__button--cart i { color: var(--palette-dark); }
.yl-cart-action-tooltip { position: fixed; z-index: 11000; max-width: min(250px, calc(100vw - 16px)); padding: 8px 11px; background: #101319; color: #fff; border: 1px solid #303640; border-radius: 9px; box-shadow: 0 5px 16px #0004; font: 600 12px/1.4 system-ui, sans-serif; text-align: center; pointer-events: none; }
.yl-cart-action-tooltip[hidden] { display: none; }
.yl-cart-action-tooltip::after { content: ''; position: absolute; left: var(--tooltip-arrow-x, 50%); bottom: -5px; width: 9px; height: 9px; background: #101319; transform: translateX(-50%) rotate(45deg); }
.yl-cart-action-tooltip.is-below::after { bottom: auto; top: -5px; }
.yl-cart-popover { position: fixed; z-index: 1080; border: 1px solid #dae4e8; background: rgba(248,250,251,var(--cart-menu-opacity, 1)); border-radius: var(--yl-theme-radius, var(--yl-theme-radius-config, 9px)); box-shadow: 0 12px 36px #102b3c40; }
.yl-cart-popover[hidden] { display: none; }
.yl-cart-popover-title { padding: 9px 30px 0 12px; font: 600 11px/1.4 system-ui,sans-serif; color: #325260; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.yl-cart-popover-close { position: absolute; right: 5px; top: 3px; border: 0; background: transparent; color: #415967; font-size: 22px; line-height: 24px; width: 25px; height: 25px; }
html body .yl-cart-popover .yl-cart-menu.yl-card-fan { inset: var(--cart-menu-top) 0 auto; height: var(--cart-menu-height); background: transparent; border-radius: 0 0 var(--cart-radius) var(--cart-radius); backdrop-filter: none; }
