/* MLCom Shop Skin 0.2.6 - look-only layer over Sunshine Photo Cart 3.7.1 + ml-photo-platform (MU).
 * Target look: magyarlevente-redesign-r1/webshop.html (+ css/webshop.css, css/style.css tokens).
 * Loads after every platform stylesheet (see mlcom-shop-skin.php). Mostly token remaps: the platform
 * already styles its own markup through --ml-*-* custom properties, so re-pointing them re-colours
 * everything; the rules below only change shape (radius, pill buttons, type) and fix mobile overlap.
 * Rules: photos never get overlays; prices never share a line they cannot fit; contrast >= 4.5:1 for text.
 * Selector map: ../../../SELECTOR_MAP.md. !important only where the platform itself used it or wrote an
 * inline style attribute (deadline banner). */

/* ---------- 1. Tokens (redesign palette) ---------- */
:root {
	--mls-paper: #F7F1E8;
	--mls-paper-2: #EFE5D6;
	--mls-card: #FFFBF5;
	--mls-ink: #221C16;
	--mls-ink-2: #5A4F45;
	--mls-ink-3: #75685B; /* redesign #8A7D70 darkened: 4.6:1 on paper for small text */
	--mls-line: rgba(34, 28, 22, .13);
	--mls-line-solid: #DDD3C5;
	--mls-accent: #C4481F;
	--mls-accent-ink: #A83B17; /* #C4481F is 4.4:1 on paper: small accent text uses this (>= 5:1 on paper, paper-2, blush-soft) */
	--mls-sun: #F6DB93;
	--mls-sun-soft: #FBEFC9;
	--mls-peach-soft: #FBE3D2;
	--mls-sage-soft: #E3EBDA;
	--mls-sage-deep: #3F5A3C;
	--mls-blush-soft: #F9E4DE;
	--mls-serif: 'Fraunces Variable', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
	--mls-sans: 'Manrope Variable', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--mls-radius: clamp(18px, 2.2vw, 30px);
	--mls-radius-lg: clamp(24px, 3.4vw, 48px);
	--mls-shadow: 0 1px 1px rgba(60, 40, 20, .04), 0 12px 32px -12px rgba(80, 50, 20, .18);
	--mls-shadow-lg: 0 2px 2px rgba(60, 40, 20, .04), 0 30px 70px -28px rgba(80, 50, 20, .35);
	--mls-ease: cubic-bezier(.22, 1, .36, 1);

	/* platform token families defined on :root (favorites, cart-checkout, order-summary) */
	--ml-cream: var(--mls-paper); --ml-paper: var(--mls-card); --ml-forest: var(--mls-ink); --ml-forest-dark: var(--mls-ink);
	--ml-terra: var(--mls-accent); --ml-gold: var(--mls-sun); --ml-line: var(--mls-line-solid); --ml-muted: var(--mls-ink-2);
	--ml-commerce-cream: var(--mls-paper); --ml-commerce-paper: var(--mls-card); --ml-commerce-forest: var(--mls-ink);
	--ml-commerce-forest-dark: var(--mls-ink); --ml-commerce-terra: var(--mls-accent); --ml-commerce-gold: var(--mls-sun);
	--ml-commerce-line: var(--mls-line-solid); --ml-commerce-muted: var(--mls-ink-2);
	--ml-order-cream: var(--mls-paper); --ml-order-paper: var(--mls-card); --ml-order-green: var(--mls-ink);
	--ml-order-ink: var(--mls-ink); --ml-order-terra: var(--mls-accent); --ml-order-gold: var(--mls-sun);
	--ml-order-line: var(--mls-line-solid); --ml-order-muted: var(--mls-ink-2);
}
/* token families the platform defines on narrower scopes: redefine on the same scope */
.ml-warm-editorial-gallery #sunshine {
	--ml-gallery-cream: var(--mls-paper); --ml-gallery-paper: var(--mls-card); --ml-gallery-forest: var(--mls-ink);
	--ml-gallery-forest-dark: var(--mls-ink); --ml-gallery-terra: var(--mls-accent); --ml-gallery-gold: var(--mls-sun);
	--ml-gallery-line: var(--mls-line-solid); --ml-gallery-muted: var(--mls-ink-2);
}
.ml-warm-editorial-store {
	--ml-store-cream: var(--mls-paper); --ml-store-paper: var(--mls-card); --ml-store-forest: var(--mls-ink);
	--ml-store-ink: var(--mls-ink); --ml-store-terra: var(--mls-accent); --ml-store-gold: var(--mls-sun);
	--ml-store-line: var(--mls-line-solid); --ml-store-muted: var(--mls-ink-2); --ml-store-serif: var(--mls-serif);
}
.sunshine--multi-image-select.ml-picker {
	--ml-picker-cream: var(--mls-paper); --ml-picker-paper: var(--mls-card); --ml-picker-forest: var(--mls-ink);
	--ml-picker-terra: var(--mls-accent); --ml-picker-line: var(--mls-line-solid); --ml-picker-muted: var(--mls-ink-2);
}
.ml-keychain-selector,
.ml-keychain-cart-edit-panel {
	--ml-keychain-paper: var(--mls-card); --ml-keychain-cream: var(--mls-paper); --ml-keychain-forest: var(--mls-ink);
	--ml-keychain-terra: var(--mls-accent); --ml-keychain-line: var(--mls-line-solid);
}
/* the package chooser (ml-package-chooser-first.php:428) reads the theme.json presets; re-point them inside the modal only */
#sunshine--modal {
	--wp--preset--color--ink: var(--mls-ink); --wp--preset--color--paper: var(--mls-card);
	--wp--preset--color--line: var(--mls-line-solid); --wp--preset--color--forest: var(--mls-accent);
	--wp--preset--font-family--ui: var(--mls-sans);
}

/* ---------- 2. Base: page, type, buttons ---------- */
body.sunshine-photo-cart { background: var(--mls-paper); color: var(--mls-ink); }
body.sunshine-photo-cart #sunshine,
body.sunshine-photo-cart .ml-store,
body.sunshine-photo-cart .ml-favorites,
body.sunshine-photo-cart .ml-order-summary,
body.sunshine-photo-cart #sunshine--modal,
body.sunshine-photo-cart .lg-outer {
	font-family: var(--mls-sans);
	-webkit-font-smoothing: antialiased;
}
body.sunshine-photo-cart #sunshine { background: var(--mls-paper); color: var(--mls-ink); }
.ml-warm-editorial-gallery #sunshine--page-header.ml-gallery-hero h1,
.ml-store h1, .ml-store h2, .ml-store h3,
.ml-favorites h1, .ml-favorites h2,
.ml-order-summary h1, .ml-order-summary h2,
.ml-cart-empty h1, .ml-cart-upsell h2,
.ml-warm-editorial-checkout #sunshine legend,
.ml-demo-guide h2, .ml-frame-sheet h2, .ml-frame-checkout-upsell__intro h2, .ml-frame-checkout-upsell__offer h3,
#sunshine--modal h2, #sunshine--guest-favorites-modal--header {
	font-family: var(--mls-serif);
	font-variation-settings: 'SOFT' 100, 'opsz' 72;
	font-weight: 420;
	letter-spacing: -.02em;
	color: var(--mls-ink);
}
body.sunshine-photo-cart :focus-visible { outline: 3px solid var(--mls-accent); outline-offset: 3px; }

/* Sunshine's own buttons -> redesign .btn (ink pill, accent hover) */
body.sunshine-photo-cart .sunshine--button,
body.sunshine-photo-cart .sunshine--button-alt {
	min-height: 48px;
	padding: .8em 1.4em;
	border: 0;
	border-radius: 999px;
	background: var(--mls-ink);
	color: var(--mls-paper);
	font-family: var(--mls-sans);
	font-weight: 750;
	line-height: 1.15;
	text-transform: none;
	letter-spacing: 0;
	transition: background-color .3s var(--mls-ease);
}
body.sunshine-photo-cart .sunshine--button:hover { background: var(--mls-accent); color: #fff; }
body.sunshine-photo-cart .sunshine--button-alt { background: transparent; color: var(--mls-ink); border: 1.5px solid var(--mls-ink); }

/* prices: amount and currency never split, containers may wrap (owner saw price overlap on mobile) */
body.sunshine-photo-cart .sunshine-price { white-space: nowrap; }

/* ---------- 3. Gallery (class-gallery-experience.php:630-668, core gallery/image-item.php) ---------- */
.ml-warm-editorial-gallery #sunshine--page-header.ml-gallery-hero {
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 22px;
	padding: clamp(28px, 6vw, 72px) 0 clamp(20px, 4vw, 40px);
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	color: var(--mls-ink);
}
.ml-warm-editorial-gallery .ml-gallery-hero__eyebrow {
	display: inline-flex; align-items: center; gap: .6em;
	color: var(--mls-ink-2); font-size: .78rem; font-weight: 700; letter-spacing: .14em;
}
.ml-warm-editorial-gallery .ml-gallery-hero__eyebrow::before {
	content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--mls-accent);
	box-shadow: 0 0 0 5px rgba(196, 72, 31, .15);
}
.ml-warm-editorial-gallery #sunshine--page-header.ml-gallery-hero h1 {
	color: var(--mls-ink);
	font-variation-settings: 'SOFT' 100, 'WONK' 1, 'opsz' 144;
	font-size: clamp(2.6rem, 11vw, 8rem);
	font-weight: 380;
	line-height: .95;
	letter-spacing: -.045em;
	overflow-wrap: anywhere;
}
.ml-warm-editorial-gallery .ml-gallery-hero__intro { color: var(--mls-ink-2); font-size: clamp(1.02rem, .6vw + .92rem, 1.25rem); max-width: 40em; }
.ml-warm-editorial-gallery .ml-gallery-hero__actions { display: flex; flex-wrap: wrap; gap: 12px 14px; }
.ml-warm-editorial-gallery .ml-gallery-hero__action,
.ml-warm-editorial-gallery button.ml-gallery-hero__action {
	width: auto;
	min-height: 52px;
	padding: .85em 1.4em;
	justify-content: center;
	flex: 0 1 auto;
	background: transparent;
	border: 1.5px solid var(--mls-ink); /* not box-shadow: sunshine.css:69 "#sunshine a { box-shadow: none }" wins */
	border-radius: 999px;
	color: var(--mls-ink);
	font-size: 1rem;
	font-weight: 750;
}
.ml-warm-editorial-gallery .ml-gallery-hero__action:hover { background: var(--mls-ink); border-color: var(--mls-ink); color: var(--mls-paper); transform: none; }
.ml-warm-editorial-gallery .ml-gallery-hero__action--primary { background: var(--mls-accent); border-color: var(--mls-accent); color: #fff; }
.ml-warm-editorial-gallery .ml-gallery-hero__action--primary:hover { background: var(--mls-ink); border-color: var(--mls-ink); color: #fff; }
.ml-warm-editorial-gallery .ml-gallery-hero__action .sunshine--count { background: var(--mls-accent); color: #fff; min-width: 24px; min-height: 24px; font-weight: 800; }
.ml-warm-editorial-gallery .ml-gallery-hero__action--primary .sunshine--count { background: #fff; color: var(--mls-accent-ink); }
.ml-warm-editorial-gallery .ml-gallery-hero__action:focus-visible { outline: 3px solid var(--mls-accent); outline-offset: 3px; box-shadow: none; }
.ml-warm-editorial-gallery .ml-demo-banner,
.ml-full-funnel-demo #sunshine > .ml-demo-banner {
	border: 0; border-radius: 16px; background: var(--mls-ink); color: var(--mls-paper); box-shadow: none; text-align: left;
}

/* photo cards: .pcard (image never covered; the menu sits below it, as the platform already does) */
/* core sunshine.css:107 lays the image menu over the photo (gradient, bottom); keep it below the photo on every grid (gallery + favourites) */
#sunshine--image-items figure .sunshine--image-menu { position: static; opacity: 1; background: none; margin-top: 6px; }
.ml-warm-editorial-gallery #sunshine--image-items { gap: 16px; }
.ml-warm-editorial-gallery #sunshine--image-items figure.sunshine--image-item {
	padding: 8px;
	background: var(--mls-card);
	border: 0;
	border-radius: calc(var(--mls-radius) - 4px);
	box-shadow: var(--mls-shadow);
	transition: box-shadow .4s var(--mls-ease), transform .4s var(--mls-ease);
}
.ml-warm-editorial-gallery #sunshine--image-items figure.sunshine--image-item:hover { box-shadow: var(--mls-shadow-lg); transform: translateY(-3px); }
.ml-warm-editorial-gallery #sunshine--image-items figure.sunshine--image-item > a { border-radius: calc(var(--mls-radius) - 10px); overflow: hidden; background: var(--mls-paper-2); }
.ml-warm-editorial-gallery #sunshine--image-items .sunshine--image--name { padding: 8px 4px 0; font-weight: 750; font-size: .9rem; color: var(--mls-ink); }
.ml-warm-editorial-gallery #sunshine--image-items .sunshine--image-menu { margin: 6px 0 0; }
.ml-warm-editorial-gallery #sunshine--image-items .sunshine--image-menu .sunshine--add-to-favorites {
	border: 0; border-radius: 50%; background: var(--mls-paper-2); color: var(--mls-accent-ink);
}
.ml-warm-editorial-gallery #sunshine--image-items .sunshine--image--is-favorite .sunshine--image-menu .sunshine--add-to-favorites,
.ml-warm-editorial-gallery #sunshine--image-items .sunshine--image-menu .sunshine--add-to-favorites[aria-pressed="true"] { background: var(--mls-blush-soft); border: 2px solid var(--mls-accent); }
.ml-warm-editorial-gallery #sunshine--image-items .sunshine--image-menu .ml-gallery-card__purchase-button {
	min-height: 46px; border: 0; border-radius: 12px; background: var(--mls-paper-2); color: var(--mls-ink); font-weight: 750;
	transition: background-color .3s, color .3s;
}
.ml-warm-editorial-gallery #sunshine--image-items .sunshine--image-menu .ml-gallery-card__purchase-button:hover { background: var(--mls-ink); color: var(--mls-paper); }
@media (min-width: 700px) { .ml-warm-editorial-gallery #sunshine--image-items { gap: 18px; } }

/* deadline banner (ml-gallery-deadline.php:69 writes an inline style attribute -> !important is the only hook) */
.ml-gallery-deadline {
	border: 0 !important; border-radius: 16px !important; background: var(--mls-sun-soft) !important; color: var(--mls-ink) !important;
	font-family: var(--mls-sans); font-size: 1rem !important; box-shadow: inset 0 0 0 1.5px var(--mls-line);
}
@media (max-width: 899px) { .ml-gallery-deadline { padding: 12px 16px !important; } }
.ml-gallery-deadline.is-urgent { background: #FDE8E1 !important; color: #7A2410 !important; box-shadow: inset 0 0 0 2px var(--mls-accent); }
.ml-gwp-reopen { display: inline-flex; align-items: center; min-height: 44px; font-weight: 750; color: var(--mls-ink); text-decoration-color: var(--mls-accent); text-underline-offset: 4px; }

/* lightbox (lightGallery + ml-lightbox__actionbar from gallery-experience.js:150-170): image untouched */
body.ml-warm-editorial-gallery .lg-backdrop { background: rgba(34, 28, 22, .94); }
body.ml-warm-editorial-gallery .lg-outer .lg-toolbar .lg-icon,
body.ml-warm-editorial-gallery .lg-outer .lg-next,
body.ml-warm-editorial-gallery .lg-outer .lg-prev { border-radius: 50%; background: rgba(255, 251, 245, .92); color: var(--mls-ink); }
body.ml-warm-editorial-gallery .lg-outer .ml-lightbox__actionbar { gap: 10px; background: var(--mls-paper); border-radius: 999px; box-shadow: var(--mls-shadow-lg); }
body.ml-warm-editorial-gallery .lg-outer .ml-lightbox__actionbar #sunshine--lightbox--favorite { border-radius: 999px; background: var(--mls-paper-2); color: var(--mls-accent-ink); }
body.ml-warm-editorial-gallery .lg-outer .ml-lightbox__actionbar #sunshine--lightbox--favorite[aria-pressed="true"] { background: var(--mls-blush-soft); }
body.ml-warm-editorial-gallery .lg-outer .ml-lightbox__actionbar #sunshine--lightbox--add-to-cart.ml-lightbox__purchase {
	border: 0; border-radius: 999px; background: var(--mls-accent); color: #fff; font-family: var(--mls-sans); font-weight: 750;
}

/* welcome guides (ml-public-demo-experience.php:53-67, class-gallery-experience.php:671-716) -> .guide */
.ml-demo-guide__dialog { background: var(--mls-sun-soft); border-radius: var(--mls-radius-lg); color: var(--mls-ink); }
.ml-demo-guide__eyebrow { color: var(--mls-ink-2); }
.ml-demo-guide__steps svg { color: var(--mls-accent); }
.ml-demo-guide__accept { border-radius: 999px; background: var(--mls-ink); color: var(--mls-paper); font-weight: 750; }
.ml-demo-guide__accept:hover { background: var(--mls-accent); }
.ml-demo-guide__close { border-radius: 50%; }

/* ---------- 4. Store / package chooser page (templates/store/warm-editorial.php) ---------- */
.ml-store__hero {
	--ml-store-paper: var(--mls-ink); /* hero h1 + route colours are !important var(--ml-store-paper): now ink */
	--ml-store-forest: var(--mls-card);
	padding: clamp(28px, 6vw, 72px) 0 8px;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}
.ml-store__eyebrow, .ml-store__hero .ml-store__eyebrow { color: var(--mls-ink-2); font-weight: 700; letter-spacing: .14em; }
.ml-store__hero--legacy .ml-store__legacy-intro { color: var(--mls-ink-2); }
.ml-store__hero h1 {
	font-variation-settings: 'SOFT' 100, 'WONK' 1, 'opsz' 144;
	font-size: clamp(2.05rem, 5vw, 4.4rem);
	font-weight: 380;
	line-height: 1.02;
	letter-spacing: -.03em;
}
.ml-store__routes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ml-store__route {
	justify-content: flex-start;
	min-height: 60px;
	padding: 18px 20px;
	border: 1.5px solid var(--mls-line-solid);
	border-radius: 20px;
	background: var(--mls-card);
	font-size: 1.05rem;
	font-weight: 750;
	text-align: left;
	transition: transform .3s var(--mls-ease);
}
.ml-store__route:hover { transform: translateY(-2px); }
.ml-store__route--primary { --ml-store-forest: var(--mls-ink); background: var(--mls-sun); border: 2.5px solid var(--mls-ink); }
.ml-store__route--disabled { opacity: .55; border-style: dashed; }
.ml-store__route:focus-visible { outline: 3px solid var(--mls-accent); box-shadow: none; }
/* the target store (store-experience.css:1171-1230) shrinks the hero to one nowrap line on phones; give it the redesign's size back and let it wrap */
body.ml-warm-editorial-store #sunshine--store.ml-store:not(.ml-store--legacy) .ml-store__hero { padding: clamp(24px, 6vw, 64px) 0 8px; }
body.ml-warm-editorial-store #sunshine--store.ml-store:not(.ml-store--legacy) .ml-store__hero h1 { font-size: clamp(2.05rem, 5vw, 4.4rem); line-height: 1.02; letter-spacing: -.03em; white-space: normal; }
body.ml-warm-editorial-store #sunshine--store.ml-store:not(.ml-store--legacy) .ml-store__route { min-height: 56px; padding: 14px 18px; font-size: 1rem; }
@media (min-width: 900px) { .ml-store__routes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ml-store-section__header h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); line-height: 1.08; }

/* product card -> .prod */
.ml-store-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 700px) { .ml-store-grid, .ml-store-section--premium-packages .ml-store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ml-store-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ml-product-card {
	position: relative;
	padding: 24px 22px;
	border: 0;
	border-radius: var(--mls-radius);
	background: var(--mls-card);
	box-shadow: var(--mls-shadow);
}
.ml-product-card--premium { padding: 0; }
.ml-product-card__media { border-radius: calc(var(--mls-radius) - 8px); background: var(--mls-paper-2); }
.ml-product-card--premium .ml-product-card__media { border-radius: 0; }
.ml-product-card h3 {
	font-variation-settings: 'SOFT' 100, 'WONK' 1, 'opsz' 72;
	font-weight: 450;
	font-size: 1.45rem;
	line-height: 1.1;
	overflow-wrap: anywhere;
}
.ml-product-card__badge {
	display: inline-block; margin: 0 0 10px; padding: 4px 12px; border-radius: 999px;
	background: var(--mls-ink); color: var(--mls-paper); font-size: .74rem; font-weight: 800; letter-spacing: .02em; text-transform: none;
}
.ml-product-card__recommendation { color: var(--mls-ink-2); font-size: .95rem; }
.ml-product-card__components li::before { border-color: var(--mls-sage-deep); }
.ml-product-card__components li strong { color: var(--mls-ink); }
.ml-product-card__pricing { display: grid; gap: 2px; margin: auto 0 14px; min-width: 0; }
.ml-product-card__retail { margin: 0; color: var(--mls-ink-3); font-size: .86rem; overflow-wrap: anywhere; }
.ml-product-card__retail span { text-decoration: line-through; white-space: nowrap; }
.ml-product-card__price {
	margin: 0;
	color: var(--mls-accent);
	font-family: var(--mls-serif);
	font-variation-settings: 'SOFT' 100, 'WONK' 1, 'opsz' 144;
	font-size: clamp(1.9rem, 7vw, 2.3rem);
	font-weight: 420;
	line-height: 1.05;
	letter-spacing: -.03em;
	white-space: nowrap;
}
.ml-product-card__saving {
	justify-self: start; margin: 4px 0 0; padding: 3px 10px; border-radius: 999px;
	background: var(--mls-sage-soft); color: var(--mls-sage-deep); font-size: .8rem; font-weight: 800;
}
.ml-product-card[data-ml-gift-role] { border-top: 0; box-shadow: var(--mls-shadow), inset 0 0 0 2px var(--mls-ink); }
/* CTA: the platform paints it with !important var(--ml-store-forest); re-point the variable on the button itself */
.ml-product-card__cta,
.ml-cart-upsell .ml-product-card__cta {
	--ml-store-forest: var(--mls-accent); --ml-store-ink: var(--mls-ink); --ml-store-paper: #fff;
	--ml-commerce-forest: var(--mls-accent);
	min-height: 52px;
	border-radius: 999px;
	font-family: var(--mls-sans);
	font-weight: 750;
}
.ml-store-toast { border-radius: 999px; background: var(--mls-ink); color: var(--mls-paper); border: 0; }

/* ---------- 5. Modals: Sunshine #sunshine--modal (product, package fill, picker, chooser, welcome) ---------- */
#sunshine--modal--overlay { background: rgba(34, 28, 22, .62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
#sunshine--modal { color: var(--mls-ink); }
#sunshine--modal--content { background: var(--mls-paper); border-radius: 28px; }
#sunshine--modal #sunshine--modal--close { border-radius: 50%; background: var(--mls-ink); color: var(--mls-paper); }
body.ml-warm-editorial-store #sunshine--modal.sunshine--modal--store_product #sunshine--modal--close {
	--ml-store-paper: var(--mls-ink); --ml-store-forest: var(--mls-paper); --ml-store-line: var(--mls-ink);
}
body.ml-warm-editorial-store #sunshine--modal.ml-streamlined-product #sunshine--product--details--action button {
	--ml-store-forest: var(--mls-accent); --ml-store-paper: #fff;
	border-radius: 999px; min-height: 52px; font-weight: 750;
}

/* image picker (templates/picker/warm-editorial.php) -> .picker / .thumb */
.ml-picker__eyebrow { color: var(--mls-ink-2); letter-spacing: .08em; }
.ml-picker__sources select,
.ml-picker-image .sunshine--multi-image-select--qty select {
	min-height: 48px; border: 0; border-radius: 14px; background: var(--mls-card);
	box-shadow: inset 0 0 0 1.5px var(--mls-line); color: var(--mls-ink); font: inherit; font-weight: 600;
}
.ml-picker-image { border: 0; border-radius: 14px; background: var(--mls-card); box-shadow: inset 0 0 0 1.5px var(--mls-line); }
.ml-picker-image > input[type="checkbox"]:checked ~ label img { outline: 3px solid var(--mls-accent); outline-offset: -3px; }
.ml-picker-image:has(> input[type="checkbox"]:checked) { background: var(--mls-peach-soft); box-shadow: inset 0 0 0 3px var(--mls-accent); }
.ml-picker-image img { border-radius: 10px; }
.ml-picker .ml-picker__header { background: var(--mls-paper); border-top: 1px solid var(--mls-line); }
.ml-picker__count { font-weight: 750; color: var(--mls-ink); }
.ml-picker .sunshine--multi-image-select--close { border-radius: 999px; background: var(--mls-accent); color: #fff; font-weight: 750; }

/* package chooser (ml-package-chooser-first.php:467-503; inline <style> reads the presets set in section 1) */
#sunshine--modal .ml-pcf-title { font-family: var(--mls-serif); font-size: 1.5rem; font-weight: 420; }
#sunshine--modal .ml-pcf-package { border: 0; border-radius: 20px; background: var(--mls-card); box-shadow: var(--mls-shadow); }
#sunshine--modal .ml-pcf-card-top { flex-wrap: wrap; row-gap: 4px; }
#sunshine--modal .ml-pcf-name { min-width: 0; font-family: var(--mls-serif); font-size: 1.3rem; font-weight: 450; overflow-wrap: anywhere; }
#sunshine--modal .ml-pcf-price { margin-left: auto; color: var(--mls-accent); font-family: var(--mls-serif); font-size: 1.5rem; font-weight: 450; }
#sunshine--modal .ml-pcf-choose.sunshine--button { min-height: 52px; font-weight: 750; }
#sunshine--modal .ml-pcf-choose.sunshine--button:hover { filter: none; background: var(--mls-ink); }

/* welcome popup (ml-gallery-welcome-popup.php:229-248): stacked cards up to 640px so name and price never collide */
.ml-gwp-welcome { color: var(--mls-ink); font-family: var(--mls-sans); }
.ml-gwp-title { font-family: var(--mls-serif); font-size: 1.6rem; font-weight: 420; }
.ml-gwp-table th { color: var(--mls-ink-2); border-bottom-color: var(--mls-line-solid); }
.ml-gwp-table td { border-bottom-color: var(--mls-line-solid); }
.ml-gwp-name { white-space: normal; }
.ml-gwp-price { color: var(--mls-accent-ink); font-family: var(--mls-serif); font-size: 1.15rem; font-weight: 500; }
.ml-gwp-ok.sunshine--button { min-height: 52px; background: var(--mls-accent); color: #fff; }
.ml-gwp-ok.sunshine--button:hover { background: var(--mls-ink); }
@media (max-width: 640px) {
	table.ml-gwp-table, table.ml-gwp-table tbody { display: block; }
	thead.ml-gwp-head { display: none; }
	tr.ml-gwp-row {
		display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; margin: 0 0 10px; padding: 12px 14px;
		border: 0; border-radius: 16px; background: var(--mls-card); box-shadow: inset 0 0 0 1.5px var(--mls-line);
	}
	table.ml-gwp-table td { display: block; padding: 0; border: 0; text-align: left; white-space: normal; }
	table.ml-gwp-table td::before { content: none; }
	table.ml-gwp-table td.ml-gwp-price { grid-column: 2; grid-row: 1; text-align: right; white-space: nowrap; }
	table.ml-gwp-table td.ml-gwp-summary { grid-column: 1 / -1; color: var(--mls-ink-2); font-size: .92rem; }
}

/* keychain + frame sheets: shape only (colours come from tokens) */
.ml-keychain-side { border-radius: 16px; }
.ml-keychain-selector button.ml-keychain-side__choose, .ml-keychain-cart-edit__save, .ml-frame-sheet__commit { border-radius: 999px; }
.ml-frame-sheet { border-radius: 26px 26px 0 0; background: var(--mls-paper); }
.ml-frame-sheet__price { color: var(--mls-accent); font-family: var(--mls-serif); }

/* ---------- 6. Favourites (templates/favorites/warm-editorial.php) ---------- */
.ml-favorites__hero { box-sizing: border-box; padding: clamp(28px, 6vw, 64px) 0 8px; background: transparent; border-radius: 0; box-shadow: none; color: var(--mls-ink); }
.ml-favorites__count { color: var(--mls-ink-2); }
.ml-favorites__hero h1 {
	font-family: var(--mls-serif); font-variation-settings: 'SOFT' 100, 'WONK' 1, 'opsz' 144;
	font-size: clamp(2.5rem, 7.2vw, 5.5rem); font-weight: 380; line-height: .98; letter-spacing: -.03em;
}
.ml-favorites__eyebrow, .ml-favorites__hero .ml-favorites__eyebrow { color: var(--mls-ink-2); letter-spacing: .14em; }
.ml-favorites__count strong { color: var(--mls-accent-ink); }
.ml-favorites__session-note { color: var(--mls-ink-2); }
.ml-favorites__next { border: 0; border-radius: var(--mls-radius-lg); background: var(--mls-sun-soft); box-shadow: var(--mls-shadow); }
.ml-favorites__primary-cta {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .85em 1.5em;
	border-radius: 999px; background: var(--mls-accent); color: #fff; font-weight: 750; text-align: center; text-decoration: none;
}
.ml-favorites__primary-cta:hover { background: var(--mls-ink); color: #fff; }
.ml-favorites__secondary-cta { border-radius: 999px; }
.ml-favorites__grid .sunshine--image-item,
.ml-favorites__shared-image { padding: 8px; border: 0; border-radius: calc(var(--mls-radius) - 4px); background: var(--mls-card); box-shadow: var(--mls-shadow); }
.ml-favorites__grid img, .ml-favorites__shared-image img { border-radius: calc(var(--mls-radius) - 10px); }
.ml-favorites__grid .sunshine--image-menu a, .ml-favorites__grid .sunshine--image-menu button { border-radius: 12px; }
.ml-favorites__empty { border-radius: var(--mls-radius-lg); background: var(--mls-card); box-shadow: var(--mls-shadow); }

/* ---------- 7. Cart (core cart/*.php + templates/cart/empty-warm-editorial.php) ---------- */
.ml-warm-editorial-cart #sunshine--cart--items,
.ml-warm-editorial-cart #sunshine--cart--totals { border: 0; border-radius: var(--mls-radius); box-shadow: var(--mls-shadow); }
.ml-warm-editorial-cart #sunshine--cart--items thead th { background: var(--mls-paper-2); color: var(--mls-ink-2); }
.ml-warm-editorial-cart #sunshine--cart--items td { border-color: var(--mls-line); }
.ml-warm-editorial-cart .sunshine--cart-item--image img { border-radius: 10px; object-fit: contain; background: var(--mls-paper-2); }
.ml-warm-editorial-cart .sunshine--cart-item--product-name { font-weight: 800; }
.ml-warm-editorial-cart .sunshine--cart-item--qty input[type="number"] { border: 0; border-radius: 999px; background: var(--mls-card); box-shadow: inset 0 0 0 1.5px var(--mls-line); text-align: center; }
.ml-warm-editorial-cart .sunshine--cart-item--delete { color: var(--mls-accent); }
.ml-warm-editorial-cart .sunshine--cart-item--total, .ml-warm-editorial-cart .sunshine--cart-item--price { font-weight: 800; white-space: nowrap; }
.ml-warm-editorial-cart #sunshine--cart--totals { background: var(--mls-ink); color: var(--mls-paper); }
.ml-warm-editorial-cart #sunshine--cart--totals th, .ml-warm-editorial-cart #sunshine--cart--totals td { border-bottom: 1px dashed rgba(247, 241, 232, .2); color: rgba(247, 241, 232, .8); font-weight: 700; }
.ml-warm-editorial-cart #sunshine--cart--totals .sunshine--cart--total th { color: rgba(247, 241, 232, .8); }
.ml-warm-editorial-cart #sunshine--cart--totals .sunshine--cart--total td { color: var(--mls-sun); font-family: var(--mls-serif); font-size: 1.9rem; font-weight: 450; letter-spacing: -.02em; }
.ml-warm-editorial-cart #sunshine--cart--checkout-button a,
.ml-warm-editorial-checkout #sunshine--checkout button[type="submit"],
.ml-warm-editorial-checkout #sunshine--checkout--submit {
	min-height: 56px; border-radius: 999px; background: var(--mls-accent); font-weight: 750;
}
.ml-warm-editorial-cart #sunshine--cart--checkout-button a:hover,
.ml-warm-editorial-checkout #sunshine--checkout button[type="submit"]:hover { background: #fff; color: var(--mls-ink) !important; }
.ml-warm-editorial-cart #sunshine--cart--update-button input { border-radius: 999px; background: var(--mls-ink); }
.ml-warm-editorial-cart #sunshine--cart--gallery-return a { color: var(--mls-ink); text-decoration-color: var(--mls-accent); text-underline-offset: 4px; }
.ml-cart-upsell { border: 0; border-radius: var(--mls-radius); background: var(--mls-sun-soft); }
.ml-cart-upsell__eyebrow { color: var(--mls-accent-ink); }
.ml-cart-empty { border: 0; border-radius: var(--mls-radius-lg); background: var(--mls-card); box-shadow: var(--mls-shadow); }
.ml-cart-empty h1 { font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 380; }
.ml-cart-empty__primary, .ml-cart-empty__secondary { border-radius: 999px; }
.ml-cart-empty__primary { background: var(--mls-ink); }
.ml-cart-empty__primary:hover { background: var(--mls-accent); }
.ml-checkout-backlinks a { border-color: var(--mls-ink); }

/* mobile cart rows -> .cline: image | name, then price / qty / total on one wrapping row */
@media (max-width: 620px) {
	.ml-warm-editorial-cart #sunshine--cart--items tr.sunshine--cart-item {
		display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 4px 14px; padding: 16px 14px; border-bottom: 1px dashed var(--mls-line);
	}
	.ml-warm-editorial-cart #sunshine--cart--items tr.sunshine--cart-item td { width: auto; padding: 0; }
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--image { grid-row: 1 / span 4; }
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--image::before,
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--name::before { content: none; }
	.ml-warm-editorial-cart .sunshine--cart-item--image img { width: 72px; height: auto; }
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--price,
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--qty,
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--total {
		display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; min-width: 0;
	}
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--price::before,
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--qty::before,
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--total::before { margin: 0; }
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--qty { flex-wrap: nowrap; justify-content: flex-start; }
	.ml-warm-editorial-cart #sunshine--cart--items td.sunshine--cart-item--qty::before { margin-right: auto; }
	/* core sunshine.css:1126-1129 indents these 100px for its float labels; the labels are gone here */
	.ml-warm-editorial-cart #sunshine--cart--items td .sunshine--cart-item--product-name,
	.ml-warm-editorial-cart #sunshine--cart--items td .sunshine--cart-item--product-options,
	.ml-warm-editorial-cart #sunshine--cart--items td .sunshine--cart-item--image-name,
	.ml-warm-editorial-cart #sunshine--cart--items td .sunshine--cart-item--comments { margin-left: 0; }
}

/* ---------- 8. Checkout (core checkout/checkout.php + class-cart.php:2035-2059 fieldsets) ---------- */
.ml-warm-editorial-checkout #sunshine--checkout fieldset {
	border: 0; border-radius: var(--mls-radius-lg); background: var(--mls-card); box-shadow: var(--mls-shadow);
}
.ml-warm-editorial-checkout #sunshine legend,
.ml-warm-editorial-checkout #sunshine--checkout legend { font-size: 1.4rem; text-transform: none; letter-spacing: -.01em; }
.ml-warm-editorial-checkout .sunshine--checkout--section-edit { border-radius: 999px; color: var(--mls-ink); }
.ml-warm-editorial-checkout #sunshine input[type="text"],
.ml-warm-editorial-checkout #sunshine input[type="email"],
.ml-warm-editorial-checkout #sunshine input[type="tel"],
.ml-warm-editorial-checkout #sunshine input[type="password"],
.ml-warm-editorial-checkout #sunshine select,
.ml-warm-editorial-checkout #sunshine textarea {
	min-height: 50px; padding: 10px 14px; border: 0; border-radius: 14px; background: var(--mls-card);
	box-shadow: inset 0 0 0 1.5px var(--mls-line); color: var(--mls-ink); font: inherit; font-weight: 600; max-width: 100%;
}
.ml-warm-editorial-checkout #sunshine input:focus, .ml-warm-editorial-checkout #sunshine select:focus { box-shadow: inset 0 0 0 2.5px var(--mls-ink); }
.ml-warm-editorial-checkout .sunshine--form--field--name { font-weight: 750; }
body.sunshine-photo-cart .sunshine--form--field--name abbr { color: var(--mls-accent-ink); text-decoration: none; }
.ml-warm-editorial-checkout .sunshine--form--field-description { color: var(--mls-ink-3); font-weight: 600; font-size: .86rem; }
.ml-warm-editorial-checkout .sunshine--form--field-radio label,
.ml-warm-editorial-checkout .sunshine--form--field-checkbox label {
	display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; border-radius: 14px;
	background: var(--mls-paper); box-shadow: inset 0 0 0 1.5px var(--mls-line); color: var(--mls-ink); font-weight: 700; text-align: left;
}
.ml-warm-editorial-checkout #sunshine input[type="radio"], .ml-warm-editorial-checkout #sunshine input[type="checkbox"] { accent-color: var(--mls-accent); width: 20px; height: 20px; }
/* order summary -> .co-sum (ink panel, sun total) */
.ml-warm-editorial-checkout #sunshine--checkout--summary { border: 0; border-radius: var(--mls-radius-lg); background: var(--mls-ink); color: var(--mls-paper); box-shadow: none; }
.ml-warm-editorial-checkout #sunshine--checkout--summary * { color: inherit; border-color: rgba(247, 241, 232, .2); }
.ml-warm-editorial-checkout #sunshine--checkout--cart-items td { border-bottom: 1px dashed rgba(247, 241, 232, .2); vertical-align: top; }
.ml-warm-editorial-checkout .sunshine--checkout--cart-item--product-name { font-weight: 750; overflow-wrap: anywhere; }
.ml-warm-editorial-checkout .sunshine--checkout--cart-item--product-options { color: rgba(247, 241, 232, .72); font-size: .82rem; }
.ml-warm-editorial-checkout .sunshine--checkout--cart-item--total { text-align: right; white-space: nowrap; font-weight: 800; }
.ml-warm-editorial-checkout .sunshine--checkout--cart-item--image img { border-radius: 10px; }
.ml-warm-editorial-checkout #sunshine--checkout--summary .sunshine--qty.sunshine--count { background: var(--mls-accent); color: #fff; }
.ml-warm-editorial-checkout #sunshine--checkout--order-review--amounts th { color: rgba(247, 241, 232, .78); font-weight: 700; text-align: left; }
.ml-warm-editorial-checkout #sunshine--checkout--order-review--amounts td { text-align: right; white-space: nowrap; }
.ml-warm-editorial-checkout #sunshine--checkout--order-review--total td { color: var(--mls-sun); font-family: var(--mls-serif); font-size: 1.9rem; font-weight: 450; }
.ml-warm-editorial-checkout #sunshine--checkout--order-review--toggle { border-radius: 16px; background: var(--mls-ink); color: var(--mls-paper); font-weight: 750; }
.ml-demo-checkout-notice { border: 0; border-radius: 14px; background: var(--mls-peach-soft); }
.ml-demo-completion { border: 0; border-radius: var(--mls-radius-lg); background: var(--mls-sage-soft); box-shadow: inset 0 0 0 2px var(--mls-sage-deep); }
.ml-demo-sample-button, .ml-demo-completion__back, .ml-demo-completion__restart { border-radius: 999px; }
.ml-frame-checkout-upsell { border-radius: var(--mls-radius); }

/* ---------- 9. Order received (templates/order/warm-editorial.php) ---------- */
.ml-order-hero { border: 0; border-radius: var(--mls-radius-lg); background: var(--mls-sage-soft); color: var(--mls-ink); box-shadow: none; }
.ml-order-hero h1 {
	color: var(--mls-ink); font-family: var(--mls-serif); font-variation-settings: 'SOFT' 100, 'WONK' 1, 'opsz' 144;
	font-size: clamp(2.3rem, 6.5vw, 5rem); font-weight: 380; line-height: 1; letter-spacing: -.03em;
}
.ml-order-eyebrow, .ml-order-hero .ml-order-eyebrow { color: var(--mls-ink-2); letter-spacing: .14em; }
.ml-order-hero__success-lead { color: var(--mls-sage-deep); font-weight: 800; }
.ml-order-lead, .ml-order-hero__download-copy { color: var(--mls-ink-2); }
.ml-order-status { border-radius: 999px; background: var(--mls-ink); color: var(--mls-paper); }
.ml-order-hero__download-action a { border-radius: 999px; background: var(--mls-accent); }
.ml-order-panel, .ml-order-item, .ml-order-next, .ml-order-notice { border: 0; border-radius: var(--mls-radius); background: var(--mls-card); box-shadow: var(--mls-shadow); }
.ml-order-item__main { flex-wrap: wrap; gap: 4px 12px; }
.ml-order-item__main > div { min-width: 0; }
.ml-order-item h3 { font-family: var(--mls-serif); font-weight: 450; font-size: 1.3rem; overflow-wrap: anywhere; }
.ml-order-item__price { margin-left: auto; white-space: nowrap; color: var(--mls-accent); font-family: var(--mls-serif); font-size: 1.4rem; font-weight: 450; }
.ml-order-package li strong { white-space: nowrap; }
.ml-order-previews img { border-radius: 10px; object-fit: contain; background: var(--mls-paper-2); }
.ml-order-totals { background: var(--mls-ink); color: var(--mls-paper); }
.ml-order-totals h2, .ml-order-totals dt, .ml-order-totals dd { color: inherit; }
.ml-order-totals dt { color: rgba(247, 241, 232, .78); }
.ml-order-totals dd { white-space: nowrap; }
.ml-order-total dd { color: var(--mls-sun); font-family: var(--mls-serif); font-size: 1.9rem; font-weight: 450; }
.ml-order-notice--pending { border-left: 0; box-shadow: var(--mls-shadow), inset 4px 0 0 var(--mls-sun); }

/* ---------- 10. Password / access form (core gallery/access.php) ---------- */
#sunshine--gallery--access {
	max-width: 520px; margin: clamp(24px, 6vw, 64px) auto; padding: clamp(22px, 4vw, 36px);
	border-radius: var(--mls-radius-lg); background: var(--mls-card); box-shadow: var(--mls-shadow);
}
#sunshine--gallery--access .sunshine--form--field--name { font-weight: 750; color: var(--mls-ink); }
#sunshine--gallery--access input[type="password"],
#sunshine--gallery--access input[type="email"] {
	width: 100%; min-height: 50px; padding: 10px 14px; border: 0; border-radius: 14px; background: var(--mls-paper);
	box-shadow: inset 0 0 0 1.5px var(--mls-line); font: inherit; font-weight: 600; color: var(--mls-ink);
}
#sunshine--gallery--access input:focus { outline: none; box-shadow: inset 0 0 0 2.5px var(--mls-ink); }
#sunshine--gallery--access .sunshine--form--field-description { color: var(--mls-ink-3); font-size: .86rem; }
#sunshine--gallery--access .sunshine--form--field-submit .sunshine--button { width: 100%; background: var(--mls-accent); color: #fff; }

/* ---------- 11. Floating helpers (ux-repair, selection tray) ---------- */
.ml-persistent-cart__toggle { border-radius: 999px; background: var(--mls-ink); color: var(--mls-paper); }
.ml-persistent-cart__badge { background: var(--mls-accent); color: #fff; }
.ml-persistent-cart__panel { border-radius: 20px; background: var(--mls-paper); }
.ml-scroll-top { border-radius: 50%; background: var(--mls-ink); color: var(--mls-paper); }
#sunshine--selection-tray-widget, #sunshine--selection-tray-minimized { border-radius: 20px; background: var(--mls-ink); color: var(--mls-paper); }
.ml-favorite-tooltip { border-color: var(--mls-line-solid); border-radius: 12px; background: var(--mls-card); color: var(--mls-ink); }

/* ---------- 12. 0.2.1: staging layout audit fixes (REQUEST_CODEX_STAGING_SKIN_AUDIT_R1) ---------- */
/* A. Cart: on the real theme the content column is ~800px, so the table's min-content width (~600px) does not fit
   the 1fr column next to the 360px sidebar and the sidebar (update button, gift card, totals) sits on top of it.
   Stack exactly like cart-checkout.css does at <=820px, but keyed to the cart's own width. */
/* 0.2.2: key on the form's own parent; the live/staging Sunshine themes (classic/cover) have no .sunshine--container. */
.ml-warm-editorial-cart :has(> #sunshine-cart) { container-type: inline-size; }
@container (max-width: 1040px) {
	.ml-warm-editorial-cart #sunshine-cart { grid-template-columns: minmax(0, 1fr); }
	.ml-warm-editorial-cart #sunshine--cart--items,
	.ml-warm-editorial-cart #sunshine--cart--totals,
	.ml-warm-editorial-cart #sunshine--cart--update-button,
	.ml-warm-editorial-cart #sunshine--cart--gallery-return,
	.ml-warm-editorial-cart .ml-cart-upsell { grid-column: 1; grid-row: auto; }
	.ml-warm-editorial-cart #sunshine--cart--totals { position: static; }
}
/* B. Picker: picker-sources.css sets 84vh inside Sunshine's 80vh modal (overflow hidden), cutting off the footer
   (count + confirm) on tablet/desktop. Phones (<=620px) use the full-screen shell and are untouched. */
@media (min-width: 621px) {
	#sunshine--modal .sunshine--multi-image-select.ml-picker { height: min(74vh, 880px); max-height: min(74vh, 880px); }
	@supports (height: 1dvh) {
		#sunshine--modal .sunshine--multi-image-select.ml-picker { height: min(74dvh, 880px); max-height: min(74dvh, 880px); }
	}
}
/* L (0.2.6). Picker on tablet/desktop: the image list is the only scroller and ends above the footer, so the footer never
   covers the last image row (audit S04 F1); the extra bottom padding lets that row scroll fully clear of it. */
@media (min-width: 621px) {
	#sunshine--modal .ml-picker .ml-picker__list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-bottom: 96px; scroll-padding-bottom: 96px; }
	#sunshine--modal .ml-picker .ml-picker__header { flex: 0 0 auto; position: relative; }
}
/* G (0.2.2). Picker card: "Darabszám" + its select (min 56px) overflow a ~124px card in the 3-column picker (<=820px); let the select wrap under its label. */
.ml-picker-image .sunshine--multi-image-select--qty { flex-wrap: wrap; }
/* H (0.2.2). Core notices: white on #00ae08 is 3.0:1, on #FF0000 4.0:1, on orange ~2:1 (sunshine.css:530-533). */
#sunshine-notices > .sunshine-notice { background: var(--mls-sage-deep); }
#sunshine-notices > .sunshine-notice.error { background: var(--mls-accent-ink); }
#sunshine-notices > .sunshine-notice.warning { background: var(--mls-ink); }
/* I (0.2.2). Cover-theme hero (password page): the inline-block cover box and its title must stay inside the viewport
   (audit R2 S19: 750-1100px sideways scroll; themes/cover/style.css:42-43). */
#sunshine--cover--content { max-width: min(90%, 90vw); box-sizing: border-box; } /* vw: holds even if the parent is sized to content */
#sunshine--cover--content--title { overflow-wrap: anywhere; }
/* J (0.2.3). Order page facts: an unbreakable e-mail in the dt/dd flex row (order-summary.css:204-222) set the dd's
   min-content width: +23px page overflow at 360 and the e-mail over the next column's label at 768 (audit R3B S18). */
.ml-order-facts dl > div > dt { flex: 0 0 auto; }
.ml-order-facts dl > div > dd { min-width: 0; overflow-wrap: anywhere; }
/* K (0.2.3). Native Sunshine store rows on phones (audit R3B S04): arrow button 27x36, "Csomagok" reopen link 64x16. */
#sunshine--store .sunshine--store--product-item--select-options { min-width: 44px; min-height: 44px; line-height: 44px; text-align: center; }
a.ml-gwp-reopen { display: inline-block; padding: 12px 0; }
#sunshine--header .sunshine--main-menu .sunshine--main-menu--toggle { min-width: 44px; min-height: 44px; line-height: 44px; }
/* C. Checkout: long unbroken shipping-method descriptions (a/b/c lists) no longer spill out of the option box. */
#sunshine--checkout [id^="sunshine--form--field--radio-option--"] { min-width: 0; overflow-wrap: anywhere; }
/* D. Modal top strip: "A kosár üres" no longer runs under the round close button. */
#sunshine--modal .sunshine--mini-cart--empty { margin-right: 56px; } /* 0.2.2: margin, so the box itself ends before the button */
/* E. Tap targets >= 40px on phones. */
/* 0.2.2: size only; never set display here (core hides the toggles on desktop, sunshine.css:539-540, shows one on phones). */
.sunshine--main-menu .sunshine--main-menu--toggle { min-width: 44px; min-height: 44px; line-height: 44px; }
#sunshine--modal #sunshine--modal--close { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
@media (max-width: 620px) {
	.ml-warm-editorial-cart .sunshine--cart-item--extra .sunshine--button-link,
	.ml-warm-editorial-cart .sunshine--cart-item--image-name a { display: inline-flex; align-items: center; min-height: 40px; }
	.ml-warm-editorial-cart .sunshine--cart-item--delete { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
}
/* F. Contrast: core pure-red "required" (3.9:1 on cream) and the terms line (4.4:1). */
.sunshine--required { color: var(--mls-accent-ink); }
/* sunshine.css:433 fades the terms line with opacity .6; keep its size, drop the fade. */
.sunshine-photo-cart #sunshine--form--field--terms { opacity: 1; color: var(--mls-ink-2); }

@media (prefers-reduced-motion: reduce) {
	.ml-warm-editorial-gallery #sunshine--image-items figure.sunshine--image-item, .ml-store__route { transition: none; }
	.ml-warm-editorial-gallery #sunshine--image-items figure.sunshine--image-item:hover, .ml-store__route:hover { transform: none; }
}
