/* ML Shop Flow Hybrid 1.0.2. No scroll-triggered effects, no transitions (owner rule). */
body.ml-flow-has-bar { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
html:has(body.ml-flow-has-bar) { scroll-padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
body.ml-flow-has-bar .ml-persistent-cart { display: none !important; }
body.ml-flow-has-bar .ml-scroll-top--page { bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important; }
body.ml-flow-has-bar #sunshine--selection-tray-widget,
body.ml-flow-has-bar #sunshine--selection-tray-minimized { bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
body.lg-on .ml-flow-bar, body.sunshine--modal--open .ml-flow-bar { display: none; }

.ml-flow-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 110;
	display: flex; gap: 10px; justify-content: center;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
	background: #fffdf9; border-top: 1px solid rgba(0, 0, 0, .12);
	font-family: inherit;
}
.ml-flow-bar a {
	flex: 1 1 0; max-width: 320px; min-height: 48px; box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; text-align: center;
	padding: 8px 12px; border-radius: 999px; font-size: 15px; font-weight: 600; line-height: 1.2;
	text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ml-flow-bar__secondary { border: 1.5px solid #3a2e25; color: #3a2e25; background: transparent; }
.ml-flow-bar__primary { border: 1.5px solid #3a2e25; background: #3a2e25; color: #fff; }
.ml-flow-bar a:focus-visible { outline: 3px solid #b08d57; outline-offset: 2px; }
.ml-flow-bar__total[hidden] { display: none; }

/* One deadline line (replaces the boxed banner); cart compaction stays with ml-shop-ux-fixes. */
.ml-flow-deadline { margin: 0 0 12px; padding: 0; font-size: 15px; font-weight: 600; line-height: 1.4; color: #3a2e25; }
.ml-flow-deadline.is-urgent { color: #9b1c1c; }
body.ml-flow-has-bar .sunshine--gallery--expires { display: none; }

/* Variant B: heart only on the grid; the order action lives in the enlarged photo. */
body.ml-flow-b .ml-gallery-card__purchase { display: none !important; }

.ml-flow-strip { margin: 32px auto 8px; padding: 0 16px; max-width: 1100px; box-sizing: border-box; }
.ml-flow-strip h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.25; }
.ml-flow-strip__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.ml-flow-strip__card {
	display: flex; flex-direction: column; gap: 4px; min-height: 44px; padding: 14px 16px;
	border: 1px solid rgba(0, 0, 0, .14); border-radius: 12px; background: #fff; color: #3a2e25; text-decoration: none;
}
.ml-flow-strip__card strong { font-size: 17px; }
.ml-flow-strip__card span { font-size: 14px; color: #5b5047; }
.ml-flow-strip__card:focus-visible { outline: 3px solid #b08d57; outline-offset: 2px; }
.ml-flow-strip__help { margin: 12px 0 0; font-size: 14px; color: #5b5047; }

.ml-flow-added {
	position: fixed; left: 50%; transform: translateX(-50%); z-index: 111;
	bottom: calc(78px + env(safe-area-inset-bottom, 0px)); width: min(440px, calc(100% - 24px)); box-sizing: border-box;
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px;
	background: #fff; border: 1px solid rgba(0, 0, 0, .14); border-radius: 14px; box-shadow: 0 6px 24px rgba(0, 0, 0, .14);
}
.ml-flow-added[hidden], body.sunshine--modal--open .ml-flow-added, body.lg-on .ml-flow-added { display: none; }
.ml-flow-modal-note { margin: 0 0 12px; padding: 12px 16px; font-size: 15px; line-height: 1.4; color: #3a2e25; background: #fff; border: 1px solid rgba(0, 0, 0, .14); border-radius: 12px; }
.ml-flow-added__body { display: contents; }
#ml-postadd-slot { flex: 1 1 100%; }
#ml-postadd-slot:empty { display: none; }
.ml-flow-added__thumb { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; }
.ml-flow-added__text { flex: 1 1 160px; display: flex; flex-direction: column; gap: 2px; font-size: 15px; color: #3a2e25; }
.ml-flow-added__actions { flex: 1 1 100%; display: flex; gap: 8px; }
.ml-flow-added__actions > * {
	flex: 1 1 0; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 999px; font: 600 14px/1.2 inherit; text-decoration: none; cursor: pointer; border: 1.5px solid #3a2e25;
}
.ml-flow-added__go { background: #3a2e25; color: #fff; }
.ml-flow-added__close { background: transparent; color: #3a2e25; }

.ml-flow-bar__short { display: none; }
@media (max-width: 399px) {
	.ml-flow-bar { gap: 8px; padding-left: 12px; padding-right: 12px; }
	.ml-flow-bar a { padding: 8px 8px; font-size: 13px; }
	.ml-flow-bar__long { display: none; }
	.ml-flow-bar__short { display: inline; }
}

/* Variant B: the enlarged-photo order button in the primary style. */
body.ml-flow-b #sunshine--lightbox--add-to-cart {
	min-height: 48px !important; padding: 0 22px !important; border-radius: 999px !important;
	background: #3a2e25 !important; color: #fff !important; border: 1.5px solid #fff !important;
	font-size: 16px !important; font-weight: 700 !important; line-height: 1.2 !important; opacity: 1 !important;
}

/* One-time tap hint (variant B): centre of the photo, never over the heart (the heart sits under the photo). */
.ml-flow-hint-host { position: relative; display: block; }
.ml-flow-hint {
	position: absolute; left: 50%; top: 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px;
	display: flex; align-items: center; justify-content: center; border-radius: 50%;
	background: rgba(255, 255, 255, .88); color: #3a2e25; font-size: 30px; line-height: 1;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .2); pointer-events: none; z-index: 2;
	animation: ml-flow-tap .75s ease-in-out 2, ml-flow-fade .45s ease-in 1.5s forwards;
}
@keyframes ml-flow-tap { 0%, 100% { transform: scale(1); } 45% { transform: scale(.84); box-shadow: 0 0 0 10px rgba(255, 255, 255, .35); } }
@keyframes ml-flow-fade { to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .ml-flow-hint { animation: none; } }

/* Bottom-bar correction: shared gallery/shop layout, including injected favourites. */
body.ml-flow-has-bar { padding-bottom: calc(var(--ml-flow-bar-height, 96px) + 16px) !important; }
html:has(body.ml-flow-has-bar) { scroll-padding-bottom: calc(var(--ml-flow-bar-height, 96px) + 16px); }
body.ml-flow-has-bar .ml-flow-bar { gap: 8px; padding-left: 12px; padding-right: 12px; align-items: stretch; }
body.ml-flow-has-bar .ml-flow-bar a {
 min-width: 0; min-height: 56px; display: flex !important; flex-direction: column; align-items: center; justify-content: center; padding: 8px !important;
 font-size: 15px; line-height: 18px; white-space: normal; overflow: visible;
 overflow-wrap: anywhere; text-overflow: clip;
}
body.ml-flow-has-bar .ml-flow-bar__total:not([hidden]) { display: block; }
/* Only suppress the native floating duplicate while its bar replacement is visible.
   The tray remains available inside the enlarged-photo view and modal. */
body.ml-flow-has-bar:not(.lg-on):not(.ml-lightbox-open):not(.sunshine--modal--open):has(.ml-flow-bar .ml-owner-favorites-chip:not([hidden])) #sunshine--selection-tray-widget,
body.ml-flow-has-bar:not(.lg-on):not(.ml-lightbox-open):not(.sunshine--modal--open):has(.ml-flow-bar .ml-owner-favorites-chip:not([hidden])) #sunshine--selection-tray-minimized { display: none !important; }
/* Desktop back-to-top stays in document flow; it cannot cover a product CTA. */
body.ml-flow-has-bar .ml-scroll-top--page {
 position: relative !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
 width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
 margin: 16px auto !important; transform: none !important;
}
body.ml-flow-has-bar .ml-flow-added { bottom: calc(var(--ml-flow-bar-height, 96px) + 8px); }
@media (max-width: 900px) {
 body.ml-flow-has-bar .ml-flow-bar a { font-size: 13px; }
 body.ml-flow-has-bar .ml-flow-bar__long { display: none; }
 body.ml-flow-has-bar .ml-flow-bar__short { display: inline; }
 :where(body.ml-flow-has-bar.ml-warm-editorial-gallery:not(.lg-on):not(.ml-lightbox-open):not(.sunshine--modal--open):not(.ml-ux-repair--no-page-top)) :where(.ml-scroll-top--page:not([hidden]):not(.ml-scroll-top--suppressed)) { display: inline-flex !important; }
 body.ml-flow-has-bar.ml-warm-editorial-gallery:not(.lg-on):not(.ml-lightbox-open):not(.sunshine--modal--open):not(.ml-ux-repair--no-page-top) .ml-scroll-top--page:not([hidden]):not(.ml-scroll-top--suppressed) { position: fixed !important; top: auto !important; right: 12px !important; bottom: calc(var(--ml-flow-bar-height, 96px) + 12px) !important; left: auto !important; width: 52px !important; height: 52px !important; margin: 0 !important; transform: none !important; }
 /* L-22: products use the shared scroll/overlay visibility rules at every width. */
}

/* The shared chip also serves bar levels outside the owner-look rollout. */
body.ml-flow-has-bar .ml-flow-bar .ml-owner-favorites-chip { border: 1px solid #ded5c6; background: #fffdf8; color: #284f40; text-decoration: none; }
body.ml-flow-has-bar .ml-flow-bar a[hidden] { display: none !important; }

body.ml-flow-has-bar #sunshine > .sunshine--action-menu .sunshine--gallery-return {display:none!important}
body.ml-flow-has-bar .ml-gallery-hero__actions a {display:none!important}
body.ml-flow-has-bar .ml-flow-added__body {display:block;padding:12px 16px}

body.ml-flow-has-bar .ml-flow-bar__label, body.ml-flow-has-bar .ml-flow-bar__total {max-width:100%;min-width:0}

/* 38-christmas-r3-1008: complete R2 scoped Christmas look. */
/* Shop 38 — Christmas editorial presentation only.
 * Gate: body.ml-shop38-modern. No catalog, pricing, cart or availability rules.
 * Existing hooks, visibility states, IDs and product actions remain owned by WordPress/Sunshine.
 */
body.ml-shop38-modern {
  --ml38-paper: #fffdf9;
  --ml38-bg: #f8f4ef;
  --ml38-rose: #f3e7e6;
  --ml38-wine: #7a293d;
  --ml38-wine-dark: #5c1d2d;
  --ml38-ink: #302b2b;
  --ml38-muted: #695e5b;
  --ml38-line: #e3d7d2;
  --ml38-pine: #365447;
  --ml38-gold: #94703a;
  --ml38-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --ml38-serif: Georgia, "Times New Roman", serif;
  --ml-store-cream: var(--ml38-bg);
  --ml-store-paper: var(--ml38-paper);
  --ml-store-forest: var(--ml38-wine);
  --ml-store-ink: var(--ml38-ink);
  --ml-store-terra: var(--ml38-wine);
  --ml-store-gold: var(--ml38-gold);
  --ml-store-line: var(--ml38-line);
  --ml-store-muted: var(--ml38-muted);
  background: var(--ml38-bg);
  color: var(--ml38-ink);
  font-family: var(--ml38-sans);
  line-height: 1.6;
}
body.ml-shop38-modern #sunshine,
body.ml-shop38-modern .ml-store {
  --ml-gallery-cream: var(--ml38-bg);
  --ml-gallery-paper: var(--ml38-paper);
  --ml-gallery-forest: var(--ml38-wine);
  --ml-gallery-forest-dark: var(--ml38-ink);
  --ml-gallery-terra: var(--ml38-wine);
  --ml-gallery-gold: var(--ml38-gold);
  --ml-gallery-line: var(--ml38-line);
  --ml-gallery-muted: var(--ml38-muted);
  --ml-store-forest: var(--ml38-wine);
  --ml-store-paper: var(--ml38-paper);
  --ml-store-ink: var(--ml38-ink);
  --ml-store-line: var(--ml38-line);
  --ml-store-muted: var(--ml38-muted);
  background: var(--ml38-bg);
  color: var(--ml38-ink);
  font-family: var(--ml38-sans);
}
body.ml-shop38-modern #sunshine { width: min(1240px, calc(100% - 32px)); max-width: 1240px; margin-inline: auto; padding: 0; }
body.ml-shop38-modern #sunshine *,
body.ml-shop38-modern .ml-flow-bar *,
body.ml-shop38-modern .ml-flow-added *,
body.ml-shop38-modern #sunshine--modal * { box-sizing: border-box; }
body.ml-shop38-modern :is(#sunshine, .ml-flow-bar, .ml-flow-added, #sunshine--modal) :is(button, input, select, textarea) { font-family: var(--ml38-sans); }
body.ml-shop38-modern :is(#sunshine, .ml-flow-bar, .ml-flow-added, #sunshine--modal) :is(button, a, summary, select) { touch-action: manipulation; }
body.ml-shop38-modern :is(#sunshine, .ml-flow-bar, .ml-flow-added, #sunshine--modal) :is(button, .sunshine--button, .button, select, input:not([type=hidden]):not([type=checkbox]):not([type=radio])) { min-height: 44px; }
body.ml-shop38-modern :is(#sunshine, .ml-flow-bar, .ml-flow-added, #sunshine--modal) button { min-width: 44px; }
body.ml-shop38-modern :is(#sunshine, .ml-flow-bar, .ml-flow-added, #sunshine--modal) :focus-visible { outline: 3px solid var(--ml38-wine) !important; outline-offset: 4px; box-shadow: 0 0 0 2px var(--ml38-paper); }
body.ml-shop38-modern #sunshine :is(h1, h2, h3) { text-transform: none; }
body.ml-shop38-modern #sunshine :is(p, h1, h2, h3, li) { overflow-wrap: anywhere; }
body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero {
  position: relative; display: block !important; isolation: isolate;
  padding: 36px 22px 28px; margin: 18px 0 28px;
  border: 1px solid var(--ml38-line); border-radius: 18px;
  background: linear-gradient(112deg, #fffdf9 30%, #f4e8e7 100%) !important;
  color: var(--ml38-ink) !important; box-shadow: none !important; overflow: hidden;
}
body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero::after {
  content: ""; position: absolute; z-index: -1; width: 152px; height: 210px;
  top: -4px; right: -34px; pointer-events: none; opacity: .38;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 152 210' fill='none'%3E%3Cg stroke='%2394703a' stroke-width='1.2'%3E%3Cpath d='M74 0v54m0 0c-35 0-49 32-35 55 16 24 55 24 71 0 14-23 0-55-36-55Z'/%3E%3Cpath d='M67 54v-7h14v7M57 68c-17 14-20 30-9 43M112 151v26m-13-13h26M35 159v14m-7-7h14'/%3E%3C/g%3E%3Cg stroke='%23365447' stroke-width='1.3'%3E%3Cpath d='M139 184 86 130m44 44-18-3m9-5-4-20m-7 9-17-4m8-6-4-19m-8 8-13-2M143 180l-4-24m-4 16-1-23'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero .ml-gallery-hero__copy { max-width: 850px; }
body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero h1 {
  max-width: 950px; margin: 0; color: var(--ml38-wine) !important;
  font-family: var(--ml38-serif); font-size: clamp(2.35rem, 6.2vw, 4.8rem);
  font-weight: 400; line-height: 1.04; letter-spacing: -.045em; text-wrap: balance;
}
body.ml-shop38-modern .ml-gallery-hero__eyebrow { color: var(--ml38-pine) !important; font-size: .7rem; letter-spacing: .15em; font-weight: 700; margin: 0 0 14px; text-transform: uppercase; }
body.ml-shop38-modern .ml-shop38-season { margin: 0 0 12px; color: var(--ml38-wine); font: italic 400 1.18rem/1.3 var(--ml38-serif); }
body.ml-shop38-modern .ml-shop38-kicker { margin: 0 0 10px; color: var(--ml38-pine); font-size: .74rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
body.ml-shop38-modern .ml-gallery-hero__intro { max-width: 650px; margin: 16px 0 0; color: var(--ml38-muted) !important; font-size: .96rem; line-height: 1.65; }
body.ml-shop38-modern .ml-gallery-hero__count { display: inline-block; margin: 16px 0 0; padding: 3px 10px; border: 1px solid #d8c8c4; border-radius: 20px; color: var(--ml38-wine) !important; font-size: .78rem; }
body.ml-shop38-modern .ml-gallery-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
body.ml-shop38-modern .ml-gallery-hero__action { width: auto; min-height: 44px; padding: 10px 16px; border: 1px solid var(--ml38-wine); border-radius: 8px; background: transparent !important; color: var(--ml38-wine) !important; font-weight: 650; transform: none !important; transition: none; }
body.ml-shop38-modern .ml-gallery-hero__action--primary { background: var(--ml38-wine) !important; color: var(--ml38-paper) !important; }
body.ml-shop38-modern .ml-shop38-steps { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 25px 0 0; padding: 20px 0 0; list-style: none; border-top: 1px solid #ddccc8; counter-reset: ml38step; }
body.ml-shop38-modern .ml-shop38-steps li { display: flex; align-items: center; gap: 10px; color: var(--ml38-muted); font-size: .83rem; line-height: 1.4; counter-increment: ml38step; }
body.ml-shop38-modern .ml-shop38-steps li::before { content: counter(ml38step, decimal-leading-zero); display: inline-grid; place-items: center; flex: 0 0 29px; height: 29px; border-radius: 50%; background: var(--ml38-paper); border: 1px solid #dac8c3; color: var(--ml38-wine); font-size: .68rem; font-weight: 700; }
body.ml-shop38-modern nav.ml-shop38-steps { margin: 0 0 24px; padding: 0 0 20px; border-top: 0; border-bottom: 1px solid var(--ml38-line); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.ml-shop38-modern .ml-shop38-steps > a { display: flex; align-items: center; gap: 8px; min-width: 44px; min-height: 44px; color: var(--ml38-muted); font-size: .73rem; font-weight: 600; line-height: 1.35; text-decoration: none; }
body.ml-shop38-modern .ml-shop38-steps > a > span { display: inline-grid; place-items: center; flex: 0 0 27px; height: 27px; border: 1px solid #dcc9c6; background: var(--ml38-paper); color: var(--ml38-wine); border-radius: 50%; font-size: .66rem; }
body.ml-shop38-modern .ml-shop38-steps > a:hover { color: var(--ml38-wine); }
body.ml-shop38-modern .ml-shop38-gallery-label { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding: 0 0 16px; margin: 0; }
body.ml-shop38-modern .ml-shop38-gallery-label h2 { margin: 0; font: 400 clamp(1.65rem, 3vw, 2.2rem)/1.2 var(--ml38-serif); color: var(--ml38-ink); letter-spacing: -.025em; }
body.ml-shop38-modern .ml-shop38-gallery-label p { margin: 0; color: var(--ml38-muted); font-size: .8rem; }
body.ml-shop38-modern .ml-flow-deadline { padding: 8px 0; margin: 0 0 12px; color: var(--ml38-wine); font-size: .84rem; font-weight: 600; }

/* A real grid even if a previous justified/masonry renderer set inline geometry. */
body.ml-shop38-modern #sunshine #sunshine--image-items,
body.ml-shop38-modern #sunshine #sunshine--image-items[data-ml-masonry] {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px !important; align-items: stretch; height: auto !important; min-height: 0 !important;
  position: static !important; width: 100% !important; margin: 0; padding: 0; column-count: auto !important;
}
body.ml-shop38-modern #sunshine #sunshine--image-items::after { display: none !important; }
body.ml-shop38-modern #sunshine #sunshine--image-items > figure.sunshine--image-item {
  display: flex !important; flex-direction: column; position: relative !important;
  inset: auto !important; width: auto !important; max-width: none !important; height: auto !important;
  min-width: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important;
  border: 1px solid var(--ml38-line); border-radius: 10px; background: var(--ml38-paper);
  box-shadow: none !important; overflow: hidden; break-inside: auto; transition: none !important;
}
body.ml-shop38-modern #sunshine #sunshine--image-items figure.sunshine--image-item > a {
  position: relative !important; display: flex !important; align-items: center; justify-content: center;
  width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important;
  padding: 7px; border: 0; border-radius: 0; background: #eee9e4; cursor: zoom-in; overflow: hidden;
}
body.ml-shop38-modern #sunshine #sunshine--image-items figure.sunshine--image-item > a > img {
  position: static !important; display: block; width: 100% !important; height: 100% !important;
  max-width: 100%; max-height: 100%; object-fit: contain !important; transform: none !important;
  border-radius: 3px; box-shadow: none; transition: none !important;
}
body.ml-shop38-modern #sunshine #sunshine--image-items figure.sunshine--image-item > a:focus-visible { outline-offset: -4px; }
body.ml-shop38-modern #sunshine #sunshine--image-items figure.sunshine--image-item[hidden],
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card[hidden],
body.ml-shop38-modern .ml-flow-bar[hidden],
body.ml-shop38-modern .ml-flow-added[hidden] { display: none !important; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--image--name { position: static; margin: 0; padding: 8px 9px 0; color: var(--ml38-muted); font-size: .75rem; line-height: 1.4; background: transparent; opacity: 1; text-align: left; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--image-menu { position: static !important; width: 100%; height: auto; margin: 0; padding: 4px 6px 6px; opacity: 1 !important; background: transparent; transform: none !important; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--image-menu ul { display: flex; align-items: center; flex-wrap: wrap; gap: 4px !important; width: 100%; margin: 0; padding: 0; list-style: none; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--image-menu li { display: flex; margin: 0; padding: 0; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--image-menu .sunshine--favorite { margin-left: auto; flex: 0 0 44px; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--image-menu :is(button, li > a) { min-width: 44px !important; min-height: 44px !important; height: auto; margin: 0; border-radius: 7px; color: var(--ml38-wine); opacity: 1; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--add-to-favorites { display: inline-flex; align-items: center; justify-content: center; width: 44px !important; height: 44px !important; border: 1px solid var(--ml38-line); background: #fffaf8; color: var(--ml38-wine); box-shadow: none; animation: none !important; }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--add-to-favorites::before { color: var(--ml38-wine); }
body.ml-shop38-modern #sunshine #sunshine--image-items .sunshine--add-to-favorites:is(.is-favorite, [aria-pressed="true"]) { background: var(--ml38-rose); border-color: var(--ml38-wine); }
body.ml-shop38-modern #sunshine #sunshine--image-items .ml-gallery-card__purchase-button { padding: 8px; background: var(--ml38-wine); border-color: var(--ml38-wine); color: var(--ml38-paper); font-size: .76rem; }
body.ml-shop38-modern #ml-shop38-selection { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px 16px; margin: 24px 0; border: 1px solid #d3bebc; border-radius: 10px; background: var(--ml38-rose); color: var(--ml38-wine-dark); font-size: .9rem; }
body.ml-shop38-modern #ml-shop38-selection[hidden] { display: none !important; }
body.ml-shop38-modern .ml-shop38-back-to-photos { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; padding: 8px 0; margin: 0 0 14px; color: var(--ml38-wine); font-size: .9rem; text-decoration: underline; text-underline-offset: 4px; }
body.ml-shop38-modern #ml-shop38-selection p { display: grid; gap: 3px; margin: 0; }
body.ml-shop38-modern .ml-shop38-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
body.ml-shop38-modern #sunshine #sunshine--image-items figure[data-ml-shop38-active="true"] { outline: 3px solid var(--ml38-wine); outline-offset: 2px; }
body.ml-shop38-modern #ml-shop38-selection img { width: 44px; height: 56px; flex: 0 0 44px; object-fit: contain; border-radius: 4px; background: var(--ml38-paper); }
body.ml-shop38-modern #ml-shop38-selection button { margin-left: auto; min-height: 44px; padding: 8px 12px; border: 1px solid #b58a91; border-radius: 7px; background: transparent; color: var(--ml38-wine-dark); font-size: .8rem; cursor: pointer; }

/* The template supplies the current sections and native actions; CSS never fabricates them. */
body.ml-shop38-modern #sunshine #sunshine--store.ml-store { width: 100%; max-width: none; padding: 0 0 32px; margin: 50px 0 0; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__hero { padding: 28px 0 22px; border-top: 1px solid var(--ml38-line); border-bottom: 1px solid var(--ml38-line); border-radius: 0; background: transparent !important; box-shadow: none !important; color: var(--ml38-ink); }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__hero :is(h1, h2) { color: var(--ml38-wine) !important; margin: 0 0 18px; max-width: none; font: 400 clamp(1.9rem, 4.5vw, 3.2rem)/1.1 var(--ml38-serif); letter-spacing: -.035em; white-space: normal !important; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__hero .ml-store__eyebrow { color: var(--ml38-pine); font-size: .7rem; letter-spacing: .13em; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__routes { display: flex !important; align-items: stretch; flex-wrap: wrap; gap: 8px; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__route { flex: 0 1 auto; width: auto; min-width: 44px; min-height: 44px !important; padding: 10px 13px; margin: 0; border: 1px solid #d4c0bf; border-radius: 7px; background: var(--ml38-paper); color: var(--ml38-wine) !important; font-size: .83rem; font-weight: 600; line-height: 1.35; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__route--primary { background: var(--ml38-wine); border-color: var(--ml38-wine); color: #fff !important; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__route--disabled { opacity: .6; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__sections { display: grid; gap: 42px; margin-top: 32px; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-section { scroll-margin-top: 20px; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-section__header { margin: 0 0 20px; max-width: 760px; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-section__header h2 { color: var(--ml38-ink); margin: 0 0 8px; font: 400 clamp(1.65rem, 3vw, 2.4rem)/1.15 var(--ml38-serif); letter-spacing: -.025em; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-section__header > p { color: var(--ml38-muted); font-size: .9rem; margin: 0; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card { min-width: 0; min-height: 100%; padding: 22px; border: 1px solid var(--ml38-line); border-radius: 12px; background: var(--ml38-paper); box-shadow: none; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card--package { border-top: 3px solid #b98690; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card--premium { padding: 22px; border-top: 3px solid var(--ml38-gold); background: #f4ede3; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__media { aspect-ratio: 16 / 10; margin: 0 0 18px; width: 100%; background: #f1eae3; border-radius: 7px; overflow: hidden; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__body { display: flex; flex-direction: column; flex: 1; padding: 0; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card h3 { margin: 0 0 12px; color: var(--ml38-wine-dark); font: 400 clamp(1.55rem, 2.3vw, 1.9rem)/1.15 var(--ml38-serif); letter-spacing: -.02em; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__recommendation { margin: 0 0 18px; font-size: .9rem; color: var(--ml38-muted); }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__components { padding-top: 16px; margin-bottom: 18px; border-color: var(--ml38-line); color: var(--ml38-ink); font-size: .92rem; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__components strong { color: var(--ml38-wine); }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__more-contents summary { min-height: 44px; color: var(--ml38-wine); }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__badge { align-self: flex-start; padding: 5px 10px; margin-bottom: 16px; background: var(--ml38-rose); border: 1px solid #dbc3c7; color: var(--ml38-wine-dark); border-radius: 4px; font-size: .73rem; font-weight: 600; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__pricing { margin-top: auto; padding-top: 14px; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__price { margin: 0 0 4px; font: 700 clamp(1.45rem, 2.8vw, 2.1rem)/1.3 var(--ml38-sans); color: var(--ml38-ink); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__retail { color: var(--ml38-muted); font-size: .82rem; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__saving { color: var(--ml38-pine); font-size: .85rem; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__cta { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 12px 15px; margin: 20px 0 0; border: 1px solid var(--ml38-wine) !important; border-radius: 7px; background: var(--ml38-wine) !important; color: #fff !important; font: 650 .9rem/1.4 var(--ml38-sans); text-align: center; text-decoration: none; cursor: pointer; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-product-card__cta:hover { background: var(--ml38-wine-dark) !important; }
body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-gift-upsell__context { background: var(--ml38-rose); border-color: var(--ml38-line); border-left-color: var(--ml38-wine); box-shadow: none; }
body.ml-shop38-modern #ml-shop-calendars { scroll-margin-top: 20px; }

/* Existing live bar only. Height remains measured by the existing hybrid controller. */
body.ml-shop38-modern.ml-flow-has-bar { padding-bottom: calc(var(--ml-flow-bar-height, 100px) + env(safe-area-inset-bottom, 0px) + 24px) !important; }
body.ml-shop38-modern .ml-flow-bar { z-index: 110; gap: 8px; align-items: stretch; padding: 12px max(12px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); background: #fffdf9; border-top: 1px solid #d5c3c3; box-shadow: 0 -5px 20px rgb(62 30 33 / 5%); }
body.ml-shop38-modern.ml-flow-has-bar .ml-flow-bar a { min-height: 48px; border-radius: 8px; font: 650 .81rem/1.35 var(--ml38-sans); overflow-wrap: anywhere; text-decoration: none; }
body.ml-shop38-modern .ml-flow-bar__secondary { color: var(--ml38-wine); background: transparent; border-color: #c9aeb5; }
body.ml-shop38-modern .ml-flow-bar__primary { color: #fff; background: var(--ml38-wine); border-color: var(--ml38-wine); }
body.ml-shop38-modern.ml-flow-has-bar .ml-flow-bar .ml-owner-favorites-chip { border-color: #d9c6c8; background: var(--ml38-rose); color: var(--ml38-wine); }
body.ml-shop38-modern .ml-flow-bar__total { font-size: .9rem; font-variant-numeric: tabular-nums; }
body.ml-shop38-modern .ml-flow-added { bottom: calc(var(--ml-flow-bar-height, 100px) + 12px); max-height: calc(100dvh - var(--ml-flow-bar-height, 100px) - 32px); overflow-y: auto; background: var(--ml38-paper); color: var(--ml38-ink); border: 1px solid #d5b9bd; border-radius: 12px; box-shadow: 0 10px 36px rgb(62 30 33 / 16%); }
body.ml-shop38-modern .ml-flow-added__text { color: var(--ml38-ink); }
body.ml-shop38-modern .ml-flow-added__actions > * { min-height: 44px; border-color: var(--ml38-wine); border-radius: 7px; }
body.ml-shop38-modern .ml-flow-added__go { color: #fff; background: var(--ml38-wine); }
body.ml-shop38-modern .ml-flow-added__close { color: var(--ml38-wine); }
body.ml-shop38-modern:is(.lg-on, .ml-lightbox-open, .sunshine--modal--open) .ml-flow-bar,
body.ml-shop38-modern:is(.lg-on, .ml-lightbox-open, .sunshine--modal--open) .ml-flow-added { display: none !important; }
body.ml-shop38-modern .ml-store-toast { color: var(--ml38-wine); background: var(--ml38-paper); border-color: #d5b9bd; transition: none; }

/* Presentation of existing pickers: no selector, instance, quantity or commit changes. */
body.ml-shop38-modern #sunshine--modal { color: var(--ml38-ink); font-family: var(--ml38-sans); border-radius: 14px; box-shadow: 0 24px 90px rgb(45 20 25 / 24%); }
body.ml-shop38-modern #sunshine--modal--overlay { background: rgb(37 25 29 / 68%); }
body.ml-shop38-modern #sunshine--modal #sunshine--modal--content { background: var(--ml38-paper); }
body.ml-shop38-modern.ml-owner-look-r1 #sunshine--modal:has(.ml-print-picker) #sunshine--modal--content { background: var(--ml38-paper) !important; }
body.ml-shop38-modern #sunshine--modal .ml-print-picker { background: var(--ml38-paper) !important; color: var(--ml38-ink); }
body.ml-shop38-modern #sunshine--modal :is(h1, h2, h3, .ml-picker__title) { color: var(--ml38-wine-dark); font-family: var(--ml38-serif); }
body.ml-shop38-modern #sunshine--modal--close { min-width: 44px !important; min-height: 44px !important; color: var(--ml38-wine-dark); }
body.ml-shop38-modern :is(.ml-picker, .ml-picker--native-look, .ml-print-picker) { color: var(--ml38-ink); background: var(--ml38-paper); font-family: var(--ml38-sans); }
body.ml-shop38-modern :is(.ml-picker__sources, .ml-picker__header, .ml-print-footer) { background: var(--ml38-paper); border-color: var(--ml38-line); }
body.ml-shop38-modern :is(.ml-picker__eyebrow, .ml-picker__count, .ml-print-total, .ml-print-line-total) { color: var(--ml38-wine); }
body.ml-shop38-modern :is(.ml-picker__header, .ml-print-footer) { padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
body.ml-shop38-modern :is(.ml-picker-image, .ml-print-photo) { background: var(--ml38-paper); border-color: var(--ml38-line); border-radius: 8px; }
body.ml-shop38-modern :is(.ml-picker-image, .ml-print-photo) img { object-fit: contain !important; background: #eee9e4; }
body.ml-shop38-modern :is(.ml-picker, .ml-picker--native-look, .ml-print-picker) :is(select, input[type=number]) { min-height: 44px; max-width: 100%; font-size: 16px; border: 1px solid #c6b6b2; border-radius: 6px; color: var(--ml38-ink); background: var(--ml38-paper); }
body.ml-shop38-modern :is(.ml-picker, .ml-picker--native-look, .ml-print-picker) :is(button, .button, .sunshine--button) { min-width: 44px; min-height: 44px; border-radius: 7px; }
body.ml-shop38-modern :is(.ml-print-step, .sunshine--multi-image-select--close, .ml-print-commit, .ml-package-transaction__commit) { background: var(--ml38-wine); color: #fff; border-color: var(--ml38-wine); }
body.ml-shop38-modern .ml-package-progress { background: var(--ml38-rose); color: var(--ml38-wine-dark); border-left-color: var(--ml38-wine); }
body.ml-shop38-modern .ml-package-transaction { background: var(--ml38-paper); }
body.ml-shop38-modern .ml-package-progress.is-error,
body.ml-shop38-modern .ml-picker-transaction-error { color: #8b241e; background: #fff0ed; border-color: #a12d25; }
body.ml-shop38-modern .lg-backdrop { background: #21191c; }
body.ml-shop38-modern .lg-outer .ml-lightbox__actionbar { background: #fffdf9; border-color: #dcc6ca; }
body.ml-shop38-modern .lg-outer .ml-lightbox__actionbar #sunshine--lightbox--add-to-cart.ml-lightbox__purchase { background: var(--ml38-wine) !important; color: #fff !important; border-radius: 8px !important; }
body.ml-shop38-modern .lg-outer .ml-lightbox__actionbar #sunshine--lightbox--favorite { color: var(--ml38-wine); background: var(--ml38-rose); }
body.ml-shop38-modern .ml-flow-hint { animation: none !important; }
body.ml-shop38-modern :is(.ml-gallery-hero, #sunshine--image-items, .ml-store, .ml-flow-bar, .ml-flow-added, .ml-picker, .ml-print-picker) *,
body.ml-shop38-modern .ml-package-progress::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

@media (min-width: 380px) {
  body.ml-shop38-modern #sunshine #sunshine--image-items,
  body.ml-shop38-modern #sunshine #sunshine--image-items[data-ml-masonry] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 560px) {
  body.ml-shop38-modern #sunshine { width: min(1240px, calc(100% - 48px)); }
  body.ml-shop38-modern #sunshine #sunshine--image-items,
  body.ml-shop38-modern #sunshine #sunshine--image-items[data-ml-masonry] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
  body.ml-shop38-modern .ml-shop38-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero { padding: 40px 34px 30px; }
}
@media (min-width: 850px) {
  body.ml-shop38-modern #sunshine #sunshine--image-items,
  body.ml-shop38-modern #sunshine #sunshine--image-items[data-ml-masonry] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero { padding: 50px 44px 32px; margin-top: 28px; margin-bottom: 34px; }
  body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero::after { right: 10px; width: 190px; height: 260px; opacity: .6; }
  body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store-section--premium-packages .ml-store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ml-shop38-modern #sunshine #sunshine--store.ml-store .ml-store__sections { gap: 54px; margin-top: 36px; }
  body.ml-shop38-modern.ml-flow-has-bar .ml-flow-bar a { font-size: .9rem; }
}
@media (min-width: 1120px) {
  body.ml-shop38-modern #sunshine #sunshine--image-items,
  body.ml-shop38-modern #sunshine #sunshine--image-items[data-ml-masonry] { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
}
@media (max-width: 359px) {
  body.ml-shop38-modern #sunshine { width: calc(100% - 24px); }
  body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero { padding: 28px 16px 22px; }
  body.ml-shop38-modern #sunshine--page-header.ml-gallery-hero h1 { font-size: 2.18rem; }
  body.ml-shop38-modern #sunshine #sunshine--image-items,
  body.ml-shop38-modern #sunshine #sunshine--image-items[data-ml-masonry] { gap: 10px !important; }
  body.ml-shop38-modern #ml-shop38-selection button { width: 100%; margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.ml-shop38-modern *, body.ml-shop38-modern *::before, body.ml-shop38-modern *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* R1: narrow geometry and native option targets, without concealing overflow. */
body.ml-shop38-modern :is(#sunshine, #sunshine--modal, .lg-outer) :is(a, summary) { display: inline-flex; align-items: center; max-width: 100%; }
body.ml-shop38-modern [hidden] { display: none !important; }
body.ml-shop38-modern :is(#sunshine, #sunshine--modal, .lg-outer, .ml-flow-bar, .ml-flow-added) { box-sizing: border-box; min-width: 0; max-width: 100%; }
body.ml-shop38-modern :is(#sunshine, #sunshine--modal, .lg-outer, .ml-flow-bar, .ml-flow-added) * { min-width: 0; overflow-wrap: anywhere; }
body.ml-shop38-modern :is(#sunshine, #sunshine--modal, .lg-outer) :is(img, video, select, textarea, input:not([type=hidden])) { max-width: 100%; }
body.ml-shop38-modern :is(#sunshine, #sunshine--modal, .lg-outer) :is(a, button, summary, label) { min-width: 44px; min-height: 44px; }
body.ml-shop38-modern :is(#sunshine, #sunshine--modal, .lg-outer) label { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px; }
body.ml-shop38-modern :is(#sunshine, #sunshine--modal, .lg-outer) :is(input[type=checkbox], input[type=radio]) { flex: 0 0 44px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; }
body.ml-shop38-modern .lg-outer :is(.lg-close, .lg-prev, .lg-next, [role=button], #sunshine--lightbox--favorite, #sunshine--lightbox--add-to-cart) { min-width: 44px !important; min-height: 44px !important; }
body.ml-shop38-modern .ml-flow-bar { flex-wrap: wrap; }
body.ml-shop38-modern .ml-flow-bar > a { flex: 1 1 100px; max-width: 100%; }
body.ml-shop38-modern .ml-flow-strip__cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
body.ml-shop38-modern #sunshine--modal { width: min(960px, calc(100% - 24px)); }
body.ml-shop38-modern .ml-flow-added { width: min(560px, calc(100% - 24px)); }
body.ml-shop38-modern .ml-flow-added__actions { flex-wrap: wrap; }
body.ml-shop38-modern #sunshine--modal :is(.ml-picker__grid, .ml-print-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); }
@media (max-width: 900px) {
  html:has(> body.ml-shop38-modern), body.ml-shop38-modern, body.ml-shop38-modern * { scroll-behavior: auto !important; }
  /* :is adds ID specificity (1,1,1) so this phone hide beats the retained important store show (0,9,1). */
  body.ml-shop38-modern :is(#ml-shop38-phone-policy, .ml-scroll-top--page) { display: none !important; animation: none !important; transition: none !important; }
  body.ml-shop38-modern nav.ml-shop38-steps { grid-template-columns: 1fr; }
  body.ml-shop38-modern :is(.ml-picker__sources, .ml-picker__header, .ml-print-footer, .ml-lightbox__actionbar) { flex-wrap: wrap; max-width: 100%; }
}

/* UXFIX2 A10/D01: transient surfaces yield to the active photo/dialog layer. */
body:is(.lg-on, .ml-lightbox-open, .sunshine--modal--open, .ml-ux2-overlay-active) :is(#sunshine--selection-tray-widget, #sunshine--selection-tray-minimized, .ml-flow-added, .ml-store-toast, .ml-owner-favorites-chip) {
 display: none !important;
}
body.ml-ux2-overlay-active .ml-flow-bar {display: none !important;}
body:has(.ml-flow-added:not([hidden])) :is(#sunshine--selection-tray-widget, #sunshine--selection-tray-minimized, .ml-store-toast) {display: none !important;}
body:has(.ml-store-toast.is-visible):not(:has(.ml-flow-added:not([hidden]))) :is(#sunshine--selection-tray-widget, #sunshine--selection-tray-minimized) {display: none !important;}
body:has(#sunshine--modal) .lg-outer {display: none !important;}

/* PHONEGUIDE: keep the r4 favourites target when both bar entries exist. */
@media (max-width: 680px) {
 body.ml-shop38-modern:has(#sunshine--store[data-ml-shop38-inline="1"][data-ml-shop38-level="38"]) .ml-flow-bar:has(.ml-v2-favourites-entry) .ml-owner-favorites-chip {display: none !important;}
}

/* FIX46G2: shared lightbox/store confirmation, no document-flow geometry. */
body .ml-cart-notice {
 position:fixed; inset:auto; left:50%; top:50%; transform:translate(-50%,-50%);
 z-index:2147483000; box-sizing:border-box; width:max-content; max-width:calc(100vw - 32px);
 padding:18px 20px; border-radius:14px; display:flex; align-items:center; gap:12px;
 background:var(--ml-store-paper,var(--ml38-paper,#fff));
 color:var(--ml-store-ink,var(--ml38-ink,#2c302b));
 border:1px solid var(--ml-store-line,var(--ml38-line,#d9d5ce));
 box-shadow:0 8px 30px #0003; font:600 17px/1.4 system-ui,sans-serif;
}
body .ml-cart-notice[hidden] { display:none !important; }
body .ml-cart-notice button { min-width:44px; min-height:44px; padding:0; border:0; background:transparent; color:inherit; font-size:24px; cursor:pointer; }
body .sunshine--image--is-favorite .sunshine--add-to-favorites {
 color:var(--ml-store-forest,var(--ml38-wine,#8e2437)) !important;
 background:var(--ml-store-paper,var(--ml38-paper,#fff)) !important;
}

body .sunshine--image--is-favorite .sunshine--add-to-favorites svg { fill:currentColor !important; stroke:currentColor !important; }
