/*
 * Ledger Aminos theme. Mobile first; tokens come from Ledger Core (core.css)
 * and are repeated here so the theme still renders if the plugin is off.
 */
:root {
	--la-ink: #0E0E0D; --la-ink-2: #141412; --la-paper: #F6F3EE; --la-cream: #F3EFE7; --la-stone: #EFEBE4;
	--la-white: #FFFFFF; --la-line: #D8D1C4; --la-line-2: #CFC8BB; --la-line-dark: #33312E; --la-body: #4A453D;
	--la-muted: #6B6458; --la-on-dark: #CFC8BB; --la-faint-dark: #8F887C; --la-brass: #8C7143; --la-brass-text: #7A6139;
	--la-brass-light: #A98A52;
	--la-serif: 'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
	--la-sans: 'Jost', 'Futura', 'Avenir Next', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--la-ease: cubic-bezier(.2, .7, .2, 1);
	--la-gutter: 16px;
	--la-max: 1280px;
	--la-section: 72px;
}
@media (min-width: 720px) { :root { --la-gutter: 32px; --la-section: 96px; } }
@media (min-width: 1200px) { :root { --la-gutter: 64px; --la-section: 120px; } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0; background: var(--la-paper); color: var(--la-ink-2); font-family: var(--la-sans);
	font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip;
}
/* Paper with light on it: near-white at the top, a deeper stone by the footer, a soft light behind the top of the page.
   Spans the document (not the viewport) so it reads the same on phones; dark blocks cast a faint shade onto it. */
body {
	background-color: #E6DFD2;
	background-image:
		radial-gradient(1100px 600px at 50% 0%, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 70%),
		linear-gradient(180deg, #F8F5EF 0%, #F1ECE3 50%, #E6DFD2 100%);
	background-attachment: scroll; background-repeat: no-repeat; background-size: 100% 100%;
}
/* Paper grain: alpha-only noise tiled over the page background at 5%. Cards, header and other positioned
   blocks paint over it, so photos and prices stay clean; it only textures the cream. */
body::before {
	content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .05;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") repeat 0 0 / 240px 240px;
}
@media print { body::before { display: none; } }
/* Desktop: pin the gradient to the screen so every scroll position shows the full range (bright top, stone bottom),
   and widen it — spread over a whole page it is invisible on a large monitor. Touch devices ignore `fixed`
   (iOS) and keep the page-spanning version above. Grain is a little stronger on glossy monitors. */
@media (hover: hover) and (pointer: fine) {
	body {
		background-color: #E0D7C7;
		background-image:
			radial-gradient(70% 55% at 50% 0%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 70%),
			linear-gradient(180deg, #FAF8F3 0%, #F0EBE1 55%, #E0D7C7 100%);
		background-attachment: fixed;
	}
	body::before { opacity: .12; }
}
.la-marquee { box-shadow: 0 24px 48px -24px rgba(14, 14, 13, .24); }
.la-spotlight { box-shadow: 0 -24px 48px -24px rgba(14, 14, 13, .24), 0 24px 48px -24px rgba(14, 14, 13, .24); }
.la-footer { box-shadow: 0 -24px 48px -24px rgba(14, 14, 13, .24); }
img, svg, video { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 3px; }
a:hover { opacity: .8; }
:focus-visible { outline: 2px solid var(--la-brass); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--la-serif); font-weight: 500; line-height: 1.12; margin: 0 0 .5em; color: var(--la-ink-2); }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
.la-wrap { width: 100%; max-width: var(--la-max); margin: 0 auto; padding: 0 var(--la-gutter); }
.la-wrap--narrow { max-width: 820px; }
.la-main { min-height: 50vh; }
.la-skip { position: absolute; left: 12px; top: -60px; z-index: 100001; padding: 10px 16px; background: var(--la-ink); color: var(--la-cream); text-decoration: none; }
.la-skip:focus { top: 12px; }
.la-hide-sm { display: none; }
@media (min-width: 900px) { .la-hide-sm { display: inline; } }
.la-eyebrow--dark { color: var(--la-brass-light); }
.la-h2--light { color: var(--la-cream); }
.la-rise { animation: la-rise .9s var(--la-ease) both; }
.la-d1 { animation-delay: .12s; } .la-d2 { animation-delay: .24s; } .la-d3 { animation-delay: .36s; }
.la-float { animation: la-float 6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .la-rise, .la-float, .la-marquee__track, .la-hero__vial { animation: none !important; } }

/* ---------- Header ---------- */
.la-header { position: sticky; top: 0; z-index: 1000; background: var(--la-ink); color: var(--la-cream); transition: box-shadow .3s; }
.la-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(0,0,0,.6); }
.admin-bar .la-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .la-header { top: 32px; } }
.la-trustbar { border-bottom: 1px solid #262523; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--la-on-dark); }
.la-trustbar__inner { display: flex; justify-content: center; gap: 28px; min-height: 32px; align-items: center; text-align: center; }
.la-trustbar__item + .la-trustbar__item::before { content: '·'; margin-right: 28px; color: var(--la-brass-light); }
.la-promo-bar { background: var(--la-brass-light); color: var(--la-ink); font-size: 13.5px; }
.la-promo-bar__inner { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 14px; min-height: 40px; padding-top: 6px; padding-bottom: 6px; text-align: center; }
.la-promo-bar__code { padding: 3px 10px; border: 1px dashed var(--la-ink); background: rgba(255,255,255,.2); font-weight: 600; letter-spacing: .12em; cursor: pointer; border-radius: 2px; }
.la-promo-bar__ends { font-variant-numeric: tabular-nums; }
.la-nav__inner { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 8px; min-height: 68px; }
.la-nav__brand { justify-self: center; color: var(--la-cream); text-decoration: none; }
.la-nav__brand:hover { opacity: 1; }
.la-nav__actions { display: flex; align-items: center; gap: 2px; }
.la-nav__actions .la-icon-btn { color: var(--la-cream); }
.la-nav__actions .la-icon-btn:hover { background: rgba(255,255,255,.08); opacity: 1; }
.la-nav__cart { position: relative; }
.la-nav__count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--la-brass-light); color: var(--la-ink); font: 600 10.5px/18px var(--la-sans); text-align: center; }
.la-nav__count[hidden] { display: none; }
.la-nav__toggle { color: var(--la-cream); }
.la-nav__menu {
	position: fixed; inset: var(--la-menu-top, 100px) 0 0 0; z-index: 999; display: flex; flex-direction: column; padding: 24px var(--la-gutter);
	background: var(--la-ink); border-top: 1px solid #262523; transform: translateX(-100%); visibility: hidden;
	transition: transform .35s var(--la-ease), visibility 0s linear .35s; overflow-y: auto;
}
.la-menu-open .la-nav__menu { transform: none; visibility: visible; transition: transform .35s var(--la-ease); }
html.la-menu-open { overflow: hidden; }
.la-menu { list-style: none; margin: 0; padding: 0; }
.la-menu a { display: block; padding: 14px 0; border-bottom: 1px solid #262523; font-family: var(--la-serif); font-size: 26px; color: var(--la-cream); text-decoration: none; }
.la-menu a[aria-current="page"], .la-menu .current-menu-item > a { color: var(--la-brass-light); }
.la-nav__ruo { margin-top: auto; padding-top: 24px; font-size: 12px; color: var(--la-faint-dark); }
@media (min-width: 1024px) {
	.la-nav__inner { grid-template-columns: auto 1fr auto; gap: 32px; min-height: 84px; }
	.la-nav__toggle { display: none; }
	.la-nav__brand { justify-self: start; }
	.la-nav__menu { position: static; transform: none; visibility: visible; padding: 0; background: none; border: 0; flex-direction: row; justify-content: center; overflow: visible; transition: none; }
	.la-menu { display: flex; gap: 36px; }
	.la-menu a { padding: 6px 0; border: 0; border-bottom: 1px solid transparent; font-family: var(--la-sans); font-size: 12.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
	.la-menu a:hover { opacity: 1; border-bottom-color: var(--la-brass-light); }
	.la-menu a[aria-current="page"], .la-menu .current-menu-item > a { color: var(--la-cream); border-bottom-color: var(--la-brass-light); }
	.la-nav__ruo { display: none; }
}

/* ---------- Footer ---------- */
.la-footer { margin-top: var(--la-section); background: var(--la-ink); color: var(--la-on-dark); padding: 64px 0 32px; font-size: 14px; }
.la-footer a { color: var(--la-cream); text-decoration: none; }
.la-footer a:hover { opacity: 1; text-decoration: underline; }
.la-footer__top { display: grid; gap: 40px; }
.la-footer__brand p { margin: 16px 0 0; max-width: 320px; }
.la-footer__email { border-bottom: 1px solid var(--la-brass-light); }
.la-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
.la-footer__title { margin: 0 0 12px; font-size: 11px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--la-brass-light); }
.la-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.la-footer__trust { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; list-style: none; margin: 48px 0 0; padding: 28px 0 0; border-top: 1px solid #262523; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--la-cream); }
.la-footer__trust li { display: inline-flex; align-items: center; gap: 8px; }
.la-footer__trust .la-icon, .la-footer__seal { color: var(--la-brass-light); }
.la-footer__legal { margin-top: 28px; padding-top: 28px; border-top: 1px solid #262523; font-size: 12.5px; line-height: 1.65; color: var(--la-faint-dark); }
.la-footer__legal p { max-width: 900px; }
.la-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; align-items: center; margin-top: 16px; font-size: 12px; color: var(--la-faint-dark); }
.la-footer__bottom p { margin: 0; }
.la-payments { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.la-payments li { padding: 3px 8px; border: 1px solid var(--la-line-dark); border-radius: 3px; font-size: 11px; color: var(--la-on-dark); }
@media (min-width: 900px) {
	.la-footer__top { grid-template-columns: 1fr 2fr; gap: 64px; }
	.la-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Home: hero ---------- */
.la-hero { position: relative; overflow: hidden; background: var(--la-ink); color: var(--la-cream); }
.la-hero__inner { display: grid; gap: 40px; padding-top: 56px; padding-bottom: 72px; }
.la-hero__title { margin: 18px 0 0; font-size: clamp(44px, 11vw, 96px); line-height: .98; letter-spacing: -.01em; color: var(--la-cream); }
.la-hero__lede { margin: 22px 0 0; max-width: 520px; font-size: 17px; line-height: 1.65; color: var(--la-on-dark); }
.la-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.la-hero__art { position: relative; height: 320px; }
.la-hero__vial { position: absolute; animation: la-float 7s ease-in-out infinite; }
.la-hero__vial .la-vial { --s: 1.05; }
.la-hero__vial--0 { left: calc(50% - 50px); top: 6%; z-index: 2; }
.la-hero__vial--0 .la-vial { --s: 1.3; }
.la-hero__vial--1 { left: 6%; top: 26%; animation-delay: -2.2s; opacity: .85; }
.la-hero__vial--2 { right: 6%; top: 30%; animation-delay: -4.1s; opacity: .85; }
.la-hero__vial .la-vial__body { border-color: #3A3733; background: #1C1B19; }
.la-hero__vial .la-vial__label { background: var(--la-cream); color: var(--la-ink); }
.la-hero__vial .la-vial__mg { background: var(--la-ink); color: var(--la-cream); }
.la-hero__vial .la-vial__cap { background: var(--la-brass); }

/* Hero stage: studio renders floating under a warm key light. Layers: the
   vial box takes the pointer parallax, the inner box floats, the image rises in. */
.la-hero__art.la-stage { position: relative; height: auto; aspect-ratio: 10 / 7.6; --px: 0; --py: 0; }
.la-stage__glow { position: absolute; left: 50%; top: 46%; width: 115%; aspect-ratio: 1; transform: translate(-50%, -50%); pointer-events: none;
	background: radial-gradient(closest-side, rgba(169, 138, 82, .24), rgba(169, 138, 82, .08) 52%, rgba(169, 138, 82, 0) 74%); }
.la-stage__floor { position: absolute; left: 30%; right: 30%; bottom: 4%; height: 22px; opacity: .8; pointer-events: none;
	background: radial-gradient(closest-side, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); }
.la-stage__vial { position: absolute; z-index: 2; --depth: .6; transform: translate3d(calc(var(--px) * var(--depth) * 18px), calc(var(--py) * var(--depth) * 12px), 0); transition: transform .9s var(--la-ease); }
.la-stage__float { animation: la-float var(--dur, 8s) ease-in-out var(--delay, 0s) infinite; }
.la-stage__vial img { display: block; width: 100%; height: auto; animation: la-rise 1.1s var(--la-ease) both; animation-delay: var(--in, .15s); }
.la-stage__vial--0 { left: 22%; top: -2%; width: 56%; z-index: 3; --depth: 1; --dur: 7s; --in: .1s; }
.la-stage__vial--1 { left: -4%; top: 30%; width: 36%; --depth: .55; --dur: 8.5s; --delay: -3s; --in: .3s; filter: brightness(.86); }
.la-stage__vial--2 { right: -4%; top: 24%; width: 36%; --depth: .65; --dur: 9.5s; --delay: -5s; --in: .4s; filter: brightness(.86); }
.la-stage__vial--3, .la-stage__vial--4 { display: none; }
@media (min-width: 1024px) {
	.la-hero__art.la-stage { aspect-ratio: auto; height: min(62vh, 560px); min-height: 460px; }
	.la-stage__floor { bottom: 17%; left: 34%; right: 34%; }
	.la-stage__vial--0 { left: 21%; top: 6%; width: 58%; }
	.la-stage__vial--1 { left: -7%; top: 36%; width: 38%; }
	.la-stage__vial--2 { right: -7%; top: 30%; width: 38%; }
	.la-stage__vial--3, .la-stage__vial--4 { display: block; z-index: 1; width: 27%; --depth: .3; filter: brightness(.62) saturate(.9); }
	.la-stage__vial--3 { left: 6%; top: -8%; --dur: 10s; --delay: -2s; --in: .5s; }
	.la-stage__vial--4 { right: 4%; top: -6%; --dur: 11s; --delay: -6s; --in: .6s; --depth: .35; }
}
@media (prefers-reduced-motion: reduce) {
	.la-stage__float, .la-stage__vial img { animation: none !important; }
	.la-stage__vial { transform: none !important; transition: none; }
}

/* Renders used as product imagery (cards, product page, cart). */
.la-render { position: relative; display: block; width: 100%; height: 100%; }
.la-render .la-render__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.la-render--card, .la-render--line { position: absolute; inset: 0; }
.la-line__thumb { position: relative; }
.la-render--thumb { height: auto; aspect-ratio: 4 / 5; }
.la-render .la-render__alt { position: absolute; inset: 0; opacity: 0; transition: opacity .5s var(--la-ease); }
@media (min-width: 900px) {
	.la-hero__inner { grid-template-columns: 1.1fr .9fr; align-items: center; min-height: min(78vh, 760px); padding-top: 64px; padding-bottom: 96px; }
	.la-hero__art { height: 480px; }
	.la-hero__vial .la-vial { --s: 1.3; }
	.la-hero__vial--0 .la-vial { --s: 1.65; }
}

/* ---------- Home: marquee ---------- */
.la-marquee { overflow: hidden; background: var(--la-ink-2); border-top: 1px solid #262523; border-bottom: 1px solid #262523; }
.la-marquee__track { display: flex; width: max-content; animation: la-marquee 48s linear infinite; }
.la-marquee:hover .la-marquee__track, .la-marquee:focus-within .la-marquee__track { animation-play-state: paused; }
.la-marquee__list { display: flex; list-style: none; margin: 0; padding: 0; }
.la-marquee__list a { display: flex; gap: 10px; align-items: center; padding: 15px 28px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--la-on-dark); text-decoration: none; white-space: nowrap; border-right: 1px solid #262523; }
.la-marquee__list span { color: var(--la-cream); }
.la-marquee__list em { font-style: normal; color: var(--la-brass-light); }
@keyframes la-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Sections ---------- */
.la-section { padding: var(--la-section) 0 0; }
.la-section__head { max-width: 720px; margin-bottom: 40px; }
.la-section__head--row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; max-width: none; }
.la-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--la-line); border: 1px solid var(--la-line); }
.la-steps__list li { padding: 32px 26px; background: var(--la-paper); }
.la-steps__n { display: block; font-family: var(--la-serif); font-size: 44px; line-height: 1; color: var(--la-brass); }
.la-steps__list h3 { margin: 22px 0 10px; font-size: 26px; }
.la-steps__list p { margin: 0; color: var(--la-body); }
@media (min-width: 900px) { .la-steps__list { grid-template-columns: repeat(3, 1fr); } .la-steps__list li { padding: 44px 36px; } }

.la-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 720px) { .la-grid { gap: 20px; } }
@media (min-width: 1024px) { .la-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 479px) {
	.la-grid .la-card__name { font-size: 18px; }
	.la-grid .la-card__body { padding: 12px 12px 14px; }
	.la-grid .la-card__row { flex-direction: column; align-items: flex-start; }
	.la-grid .la-btn--block { padding: 0 10px; letter-spacing: .08em; }
}

.la-spotlight { margin-top: var(--la-section); padding-bottom: var(--la-section); background: var(--la-ink); color: var(--la-on-dark); }
.la-spotlight__inner { display: grid; gap: 40px; align-items: center; }
.la-spotlight__copy p { margin: 18px 0 28px; max-width: 520px; line-height: 1.7; }
.la-spotlight__card { position: relative; padding: 32px; background: var(--la-cream); color: var(--la-ink-2); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.la-spotlight__k { margin: 0; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--la-muted); }
.la-spotlight__v { margin: 18px 0 4px; font-family: var(--la-serif); font-size: clamp(56px, 12vw, 88px); line-height: 1; }
.la-spotlight__card dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 16px; margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--la-line); }
.la-spotlight__card dt { font-size: 12px; color: var(--la-muted); }
.la-spotlight__card dd { margin: 3px 0 0; font-weight: 500; }
.la-stamp { position: absolute; top: 24px; right: 24px; padding: 6px 12px; border: 2px solid var(--la-brass); color: var(--la-brass-text); font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; transform: rotate(-6deg); }
@media (min-width: 900px) { .la-spotlight__inner { grid-template-columns: 1fr 1fr; gap: 80px; } }
.la-spotlight + .la-standards { padding-top: 0; }
.la-spotlight + .la-standards .la-standards__list { margin-top: -1px; }

.la-standards__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--la-line); border-left: 1px solid var(--la-line); }
.la-standards__list li { display: flex; flex-direction: column; gap: 6px; padding: 24px 18px; border-right: 1px solid var(--la-line); border-bottom: 1px solid var(--la-line); }
.la-standards__list .la-icon { color: var(--la-brass); margin-bottom: 8px; }
.la-standards__list strong { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.la-standards__list span { font-size: 14.5px; color: var(--la-body); }
@media (min-width: 900px) { .la-standards__list { grid-template-columns: repeat(4, 1fr); } .la-standards__list li { padding: 32px 28px; } }

.la-howto__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; counter-reset: none; }
.la-howto__list span { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--la-ink-2); border-radius: 50%; font-weight: 600; }
.la-howto__list h3 { margin: 16px 0 6px; font-size: 22px; }
.la-howto__list p { margin: 0; color: var(--la-body); }
.la-howto__clock { margin-top: 36px; padding: 14px 18px; background: var(--la-white); border: 1px solid var(--la-line); display: inline-flex; }
@media (min-width: 900px) { .la-howto__list { grid-template-columns: repeat(3, 1fr); gap: 48px; } }

.la-lines-we-hold__grid { display: grid; gap: 1px; background: var(--la-line); border: 1px solid var(--la-line); }
.la-lines-we-hold__grid > div { padding: 28px 24px; background: var(--la-paper); }
.la-lines-we-hold__grid h3 { font-size: 22px; }
.la-lines-we-hold__grid p { margin: 0; color: var(--la-body); }
@media (min-width: 900px) { .la-lines-we-hold__grid { grid-template-columns: 1fr 1fr; } .la-lines-we-hold__grid > div { padding: 36px 36px; } }

.la-teaser__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; padding: 32px; background: var(--la-stone); border: 1px solid var(--la-line); }
.la-teaser__inner p { margin: 0; color: var(--la-body); max-width: 560px; }
.la-teaser__mix { display: flex; align-items: flex-start; gap: 12px; }
.la-teaser__mix .la-mix__mark { flex: 0 0 auto; margin-top: 3px; }

.la-faq__inner { display: grid; gap: 8px; }
.la-faq__list { border-top: 1px solid var(--la-line); }
.la-faq__item { border-bottom: 1px solid var(--la-line); }
.la-faq__item summary { position: relative; padding: 22px 44px 22px 0; cursor: pointer; list-style: none; font-family: var(--la-serif); font-size: 21px; line-height: 1.3; }
.la-faq__item summary::-webkit-details-marker { display: none; }
.la-faq__item summary::after { content: '+'; position: absolute; right: 4px; top: 18px; font-family: var(--la-sans); font-size: 26px; font-weight: 300; transition: transform .3s var(--la-ease); }
.la-faq__item[open] summary::after { transform: rotate(45deg); }
.la-faq__item p { margin: 0 0 24px; max-width: 680px; color: var(--la-body); }
@media (min-width: 900px) { .la-faq__inner { grid-template-columns: 1fr 1.6fr; gap: 64px; } }

.la-newsletter__inner { display: grid; gap: 20px; padding: 36px 32px; background: var(--la-white); border: 1px solid var(--la-line); }
.la-newsletter__inner p { margin: 0; color: var(--la-body); }
.la-newsletter__form { display: flex; gap: 8px; }
.la-newsletter__form input { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid var(--la-line-2); background: var(--la-paper); }
@media (min-width: 900px) { .la-newsletter__inner { grid-template-columns: 1fr 1fr; align-items: center; } }

/* ---------- Pages ---------- */
.la-page { padding: 48px 0 0; }
.la-page__head { margin-bottom: 28px; }
.la-page__title { font-size: clamp(36px, 7vw, 56px); margin: 8px 0 0; }
.la-prose { font-size: 16.5px; line-height: 1.75; color: var(--la-body); }
.la-prose h2 { margin: 2em 0 .6em; font-size: 28px; color: var(--la-ink-2); }
.la-prose h3 { margin: 1.6em 0 .5em; font-size: 21px; color: var(--la-ink-2); }
.la-prose ul, .la-prose ol { padding-left: 1.3em; }
.la-prose li { margin: .35em 0; }
.la-prose a { color: var(--la-ink-2); }
.la-prose strong { color: var(--la-ink-2); }
.la-list { list-style: none; margin: 0; padding: 0; }
.la-list__item { padding: 20px 0; border-bottom: 1px solid var(--la-line); }
.la-list__title { font-family: var(--la-serif); font-size: 24px; text-decoration: none; }
.la-404 .la-page__title { margin-bottom: 16px; }

/* ---------- WooCommerce: shared ---------- */
.la-shop { padding-top: 32px; }
.la-crumbs { margin: 0 0 20px; font-size: 13px; color: var(--la-muted); }
.la-crumbs a { color: var(--la-muted); text-decoration: none; }
.la-crumbs__sep { margin: 0 8px; }
.woocommerce-products-header { margin-bottom: 24px; }
.woocommerce-products-header__title { font-size: clamp(38px, 8vw, 64px); margin: 0; }
.term-description, .woocommerce-products-header .page-description { max-width: 640px; color: var(--la-body); }
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 40px; padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0; }
@media (min-width: 720px) { .woocommerce ul.products { gap: 20px; } }
@media (min-width: 1024px) { .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); } .woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 479px) {
	.woocommerce ul.products .la-card__name { font-size: 18px; }
	.woocommerce ul.products .la-card__body { padding: 12px 12px 14px; }
	.woocommerce ul.products .la-card__row { flex-direction: column; align-items: flex-start; }
	.woocommerce ul.products .la-btn--block { padding: 0 10px; letter-spacing: .08em; }
}
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; padding: 10px; border: 1px solid var(--la-line); background: var(--la-white); color: var(--la-ink-2); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--la-ink-2); color: var(--la-cream); }
.woocommerce span.onsale { top: 12px; left: auto; right: 12px; min-width: 0; min-height: 0; padding: 4px 10px; border-radius: 0; background: var(--la-brass-text); font-size: 11px; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; }

/* Buttons WooCommerce renders itself */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	min-height: 48px; padding: 0 22px; border-radius: 2px; background: var(--la-ink-2); color: var(--la-cream);
	font-family: var(--la-sans); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 48px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #2A2825; color: var(--la-cream); }
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled[disabled] { background: var(--la-line-2); color: var(--la-muted); opacity: 1; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top: 0; border-left: 3px solid var(--la-ink-2); background: var(--la-white); color: var(--la-ink-2); font-size: 14.5px; }
.woocommerce-error { border-left-color: #9B2C2C; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--la-brass); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .select2-container--default .select2-selection--single {
	min-height: 48px; padding: 10px 12px; border: 1px solid var(--la-line-2); border-radius: 2px; background: var(--la-white); font-size: 16px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 26px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce form .form-row label { font-size: 13.5px; color: var(--la-body); }

/* ---------- Product page ---------- */
.la-pdp__grid { display: grid; gap: 28px; }
.la-pdp__media { position: relative; }
.la-pdp__stage { display: grid; place-items: center; aspect-ratio: 1 / 1; background: var(--la-stone); }
.la-pdp__stage--render { display: block; aspect-ratio: 4 / 5 !important; overflow: hidden; background: var(--la-stone); }
.la-pdp__stage--render .la-render__img { transition: transform 1.2s var(--la-ease), opacity .5s var(--la-ease); }
@media (hover: hover) and (pointer: fine) {
	.la-pdp__stage--render:hover .la-render__alt { opacity: 1; }
	.la-pdp__stage--render:hover .la-render__img { transform: scale(1.02); }
}
.la-render.is-swapping .la-render__img { opacity: .35; }
.la-vial--hero { --s: 1.7; }
@media (min-width: 720px) { .la-vial--hero { --s: 2.2; } }
.woocommerce div.product div.images { width: 100% !important; float: none !important; margin: 0; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px !important; }
.woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0; }
.la-pdp__summary .product_title { margin: 12px 0 0; font-size: clamp(40px, 8vw, 64px); line-height: 1; }
.la-pdp__summary .woocommerce-product-details__short-description { margin-top: 14px; color: var(--la-body); font-size: 16px; }
.la-pdp__summary .woocommerce-product-details__short-description p { margin: 0; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 14px 0 0; color: var(--la-ink-2); font-size: 26px; font-weight: 500; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--la-muted); font-size: .72em; opacity: 1; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 0; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .la-tiers { flex: 0 0 100%; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; flex: 1; min-width: 200px; }
.la-pdp__coa { flex: 0 0 100%; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.cart .variations { margin: 18px 0 0; border: 0; }
.woocommerce div.product form.cart .variations tr { display: flex; flex-direction: column; gap: 10px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { padding: 0; line-height: 1.3; text-align: left; }
.woocommerce div.product form.cart .variations label { font-size: 11px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--la-muted); }
.woocommerce div.product form.cart .reset_variations { display: none !important; }
.woocommerce div.product form.cart .single_variation_wrap { margin-top: 18px; }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; }
.woocommerce div.product .woocommerce-variation-add-to-cart .la-tiers { flex: 0 0 100%; }
.woocommerce div.product .woocommerce-variation-price .price { margin-top: 0 !important; }
.woocommerce div.product .woocommerce-variation-availability p.stock { margin: 6px 0 0; font-size: 13px; }
.woocommerce div.product p.stock.in-stock { color: #2F5D3A; }
.woocommerce div.product p.stock.out-of-stock { color: var(--la-muted); }
.woocommerce div.product .single_add_to_cart_button { min-height: 54px; font-variant-numeric: tabular-nums; }
.la-pdp__below { margin-top: 16px; }
.la-pdp-desc { padding-top: 56px; max-width: 820px; }
.la-pdp-desc .la-prose { margin-top: 12px; }
.la-pdp__ruo-footer { margin-top: 56px; }
.woocommerce .related.products, .woocommerce .upsells.products { padding-top: 64px; }
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2 { font-size: clamp(28px, 5vw, 40px); margin-bottom: 28px; }
@media (min-width: 900px) {
	.la-pdp__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: start; }
	.la-pdp__media { position: sticky; top: 140px; }
	.la-pdp__stage { aspect-ratio: 4 / 5; }
}

/* ---------- Cart page ---------- */
.la-page--wc .la-page__title { font-size: clamp(32px, 6vw, 48px); }
.woocommerce table.shop_table { border: 1px solid var(--la-line); border-radius: 0; background: var(--la-white); border-collapse: collapse; }
.woocommerce table.shop_table th { font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--la-muted); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: 1px solid var(--la-stone); padding: 14px 12px; }
.woocommerce-cart table.cart img { width: 64px; }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 26px; }
.woocommerce .quantity .qty { width: 64px; min-height: 40px; border: 1px solid var(--la-line-2); }
.woocommerce-cart table.cart td.actions { padding: 16px 12px; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 200px !important; min-height: 44px; padding: 0 14px; border: 1px solid var(--la-line-2); background: var(--la-white); margin: 0 !important; }
.woocommerce-cart table.cart td.actions .coupon .button { margin: 0 !important; }
.woocommerce-cart table.cart td.actions > .button[name="update_cart"] { background: transparent; color: var(--la-ink, #111); border: 1px solid var(--la-line-2); min-height: 44px; }
.woocommerce-cart table.cart td.actions > .button[name="update_cart"]:disabled { opacity: .45; background: transparent; color: var(--la-muted); }
@media (max-width: 767px) {
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1 1 140px; width: auto !important; }
	.woocommerce-cart table.cart td.actions > .button[name="update_cart"] { width: 100%; margin-top: 10px; }
}

/* ---------- Checkout ---------- */
.woocommerce-checkout .la-page__title { margin-bottom: 8px; }
.woocommerce-checkout h3 { font-size: 24px; margin-top: 8px; }
#order_review_heading { margin-top: 32px; }
.woocommerce-checkout #payment { background: var(--la-white); border: 1px solid var(--la-line); border-radius: 0; }
.woocommerce-checkout #payment div.form-row { padding: 16px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--la-line); }
.woocommerce-checkout #payment div.payment_box { background: var(--la-stone); color: var(--la-body); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--la-stone); }
.woocommerce ul#shipping_method li { margin-bottom: 10px; line-height: 1.4; }
.woocommerce ul#shipping_method li label { display: inline; }
.woocommerce-checkout #place_order { width: 100%; min-height: 56px; font-size: 14px; }
.woocommerce-terms-and-conditions-wrapper { font-size: 13.5px; }
@media (min-width: 1024px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 0 56px; align-items: start; }
	.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
	.woocommerce-checkout form.checkout > .woocommerce-form-coupon-toggle { grid-column: 1 / -1; }
	.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
	.woocommerce-checkout #order_review_heading { grid-column: 2; margin-top: 0; }
	.woocommerce-checkout #order_review { grid-column: 2; position: sticky; top: 130px; }
}

/* ---------- Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 24px; padding: 0; border-top: 1px solid var(--la-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; border-bottom: 1px solid var(--la-line); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { font-weight: 600; }

/* Related products scroll sideways on phones */
@media (max-width: 719px) {
	.woocommerce .related.products ul.products, .woocommerce .upsells.products ul.products {
		display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 8px; margin-right: calc(-1 * var(--la-gutter));
	}
	.woocommerce .related.products ul.products li.product, .woocommerce .upsells.products ul.products li.product { flex: 0 0 72%; scroll-snap-align: start; }
}
.la-pillars__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--la-line); border: 1px solid var(--la-line); }
.la-pillars__list li { padding: 32px 26px; background: var(--la-paper); }
.la-pillars__list .la-icon { color: var(--la-brass); }
.la-pillars__list h3 { margin: 18px 0 10px; font-size: 26px; }
.la-pillars__list p { margin: 0; color: var(--la-body); }
@media (min-width: 900px) { .la-pillars__list { grid-template-columns: repeat(3, 1fr); } .la-pillars__list li { padding: 44px 36px; } }
.la-newsletter__form[data-la-subscribe] { flex-wrap: wrap; }
.la-newsletter__fine, .la-newsletter__msg { flex-basis: 100%; margin: 0; font-size: 12.5px; color: var(--la-muted); }
.la-newsletter__fine a { color: inherit; }
.la-newsletter__msg:empty { display: none; }
.la-newsletter__msg { font-size: 14px; color: var(--la-ink-2); }
.la-newsletter__form.is-done input[type="email"], .la-newsletter__form.is-done button { display: none; }
.la-newsletter__form.is-busy button { opacity: .6; pointer-events: none; }
.la-newsletter__form.is-done .la-newsletter__fine { display: none; }
.la-newsletter__form.is-done .la-newsletter__msg { font-size: 15px; }

/* Researcher gate: the drifting vials are studio cut-outs when renders exist. */
.la-gate__vial .la-render--drift { display: block; width: calc(170px * var(--s)); height: auto; }
.la-gate__vial:has(.la-render--drift) { opacity: .9; }
@media (max-width: 719px) { .la-gate__vial .la-render--drift { width: calc(110px * var(--s)); } }

/* Sticky buy bar (phones only; shown by script once the main form scrolls away) */
.la-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; align-items: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--la-cream); border-top: 1px solid var(--la-line); box-shadow: 0 -8px 24px rgba(14,14,13,.08); }
.la-sticky-buy[hidden] { display: none; }
.la-sticky-buy__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.la-sticky-buy__name { font-family: var(--la-serif); font-size: 17px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--la-ink-2); }
.la-sticky-buy__price { font-size: 14px; color: var(--la-body); }
.la-sticky-buy__price del { color: var(--la-muted); margin-right: 4px; }
.la-sticky-buy__go { flex: none; min-height: 46px; padding: 0 20px; }
body.la-has-sticky-buy { padding-bottom: 76px; }
@media (min-width: 900px) { .la-sticky-buy { display: none !important; } body.la-has-sticky-buy { padding-bottom: 0; } }

/* ---------- Promo bar: the real last 48 hours ---------- */
.la-promo-bar.is-final { background: var(--la-ink-2); color: #E9DCC0; }
.la-promo-bar.is-final .la-promo-bar__code { border-color: #E9DCC0; color: #E9DCC0; background: transparent; }
.la-promo-bar.is-final .la-promo-bar__ends [data-la-promo-countdown] { font-weight: 600; letter-spacing: .04em; }

/* ---------- Launch section (front-page.php, only while the sale runs) ---------- */
.la-launch { position: relative; padding: calc(var(--la-section) * .7) 0; background: var(--la-ink-2); color: var(--la-on-dark); overflow: hidden; }
.la-launch::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 80% at 85% 20%, rgba(169,138,82,.16), transparent 70%); pointer-events: none; }
.la-launch__inner { position: relative; display: grid; gap: 32px; align-items: center; }
.la-launch__eyebrow { margin: 0 0 12px; font-size: 12px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--la-brass-light); }
.la-launch__was { opacity: .5; margin-right: .6em; text-decoration-thickness: 1.5px; }
.la-launch__title { color: #F6F3EE; font-size: clamp(34px, 6vw, 60px); margin: 0 0 14px; }
.la-launch__title em { font-style: italic; color: #E9DCC0; }
.la-launch__lede { max-width: 46ch; margin: 0 0 22px; color: var(--la-on-dark); }
.la-launch__clock { display: flex; gap: 10px; margin: 0 0 26px; }
.la-launch__clock div { min-width: 64px; padding: 10px 8px 8px; border: 1px solid rgba(169,138,82,.45); text-align: center; }
.la-launch__clock strong { display: block; font-family: var(--la-serif); font-size: 28px; font-weight: 500; color: #F6F3EE; font-variant-numeric: tabular-nums; line-height: 1; }
.la-launch__clock span { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--la-faint-dark); }
.la-launch__ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.la-launch__ctas .la-btn--light { background: #F6F3EE; color: var(--la-ink-2); }
.la-launch__fine { margin: 14px 0 0; font-size: 12.5px; color: var(--la-faint-dark); }
.la-seal { width: min(260px, 60vw); margin: 0 auto; color: var(--la-brass-light); }
.la-seal svg { display: block; width: 100%; height: auto; }
@media (prefers-reduced-motion: no-preference) { .la-seal__ring { transform-origin: 50% 50%; animation: la-seal-spin 60s linear infinite; } @keyframes la-seal-spin { to { transform: rotate(360deg); } } }
/* One row, always: tiles share the width when they fit, and the row scrolls sideways (with snap) when they don't. */
.la-launch__lots {
	position: relative; margin-top: 40px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(160px, 1fr);
	gap: 1px; background: rgba(169,138,82,.25); border: 1px solid rgba(169,138,82,.25);
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(169,138,82,.5) transparent;
}
.la-launch__lot { scroll-snap-align: start; min-width: 0; }
.la-launch__lot-name { overflow-wrap: anywhere; }
@media (max-width: 719px) { .la-launch__lots { grid-auto-columns: 72%; } }
.la-launch__lot { display: grid; gap: 4px; padding: 16px 16px 14px; background: var(--la-ink-2); text-decoration: none; color: inherit; }
.la-launch__lot:hover { background: #1b1a17; opacity: 1; }
.la-launch__lot-name { font-family: var(--la-serif); font-size: 19px; line-height: 1.15; color: #F6F3EE; }
.la-launch__lot-name small { font-family: var(--la-sans); font-size: 12px; color: var(--la-faint-dark); }
.la-launch__lot-meta { font-size: 12px; letter-spacing: .08em; color: var(--la-faint-dark); }
.la-launch__lot-meta b { color: var(--la-brass-light); font-weight: 500; }
.la-launch__lot .la-sale-price { margin-top: 6px; }
.la-launch__lot .la-sale-price__now { color: #F6F3EE; }
.la-launch__lot .la-sale-price__list { color: var(--la-faint-dark); }
@media (min-width: 900px) { .la-launch__inner { grid-template-columns: 1.3fr .7fr; } }

.la-launch__rail { position: relative; margin-top: 40px; }
.la-launch__rail .la-launch__lots { margin-top: 0; }
.la-launch__arrow {
	position: absolute; top: 50%; z-index: 2; width: 40px; height: 40px; margin-top: -20px; padding: 0;
	display: grid; place-items: center; border: 1px solid rgba(169,138,82,.55); border-radius: 50%;
	background: rgba(20,20,18,.92); color: #E9DCC0; font-size: 18px; cursor: pointer;
	transition: background .2s var(--la-ease), color .2s var(--la-ease);
}
.la-launch__arrow:hover { background: #E9DCC0; color: var(--la-ink-2); }
.la-launch__arrow--prev { left: -20px; }
.la-launch__arrow--next { right: -20px; }
@media (pointer: coarse) { .la-launch__arrow { display: none !important; } }
.la-launch__railhead { position: relative; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 40px; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--la-faint-dark); }
.la-launch__railhead a { color: #E9DCC0; text-decoration: none; }
.la-launch__railhead a span { display: inline-block; transition: transform .25s var(--la-ease); }
.la-launch__railhead a:hover { opacity: 1; }
.la-launch__railhead a:hover span { transform: translateX(4px); }
.la-launch__railhead + .la-launch__rail { margin-top: 12px; }

/* ---------- Checkout as three numbered steps ---------- */
.woocommerce-checkout form.checkout { counter-reset: la-step; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .la-pay-heading { display: flex; align-items: center; gap: 12px; }
.woocommerce-checkout .woocommerce-billing-fields > h3::before,
.woocommerce-checkout #order_review_heading::before,
.woocommerce-checkout .la-pay-heading::before {
	counter-increment: la-step; content: counter(la-step);
	display: inline-grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%;
	background: var(--la-ink-2); color: #E9DCC0; font-family: var(--la-sans); font-size: 14px; font-weight: 600;
}
.woocommerce-checkout .la-pay-heading { margin: 28px 0 14px; font-size: 24px; }
.woocommerce-checkout #order_review .shop_table { margin-bottom: 0; }

/* ---------- Cart page on phones: one card per product, code box tucked away ---------- */
.la-is-tucked { display: none !important; }
.la-coupon-toggle { padding: 0; border: 0; background: none; font: inherit; font-size: 13.5px; color: var(--la-ink-2); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 768px) {
	.woocommerce-cart table.cart thead { display: none; }
	.woocommerce-cart table.cart tr.cart_item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 4px 12px; position: relative; padding: 16px 14px; border-top: 1px solid var(--la-stone); }
	.woocommerce-cart table.cart tr.cart_item td { display: block !important; padding: 0 !important; border: 0 !important; text-align: left !important; background: none !important; }
	.woocommerce-cart table.cart tr.cart_item td::before { display: none !important; }
	.woocommerce-cart table.cart td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-cart table.cart td.product-thumbnail img { width: 64px; }
	.woocommerce-cart table.cart td.product-name { grid-column: 2 / 4; padding-right: 28px !important; font-weight: 600; }
	.woocommerce-cart table.cart td.product-name dl.variation { margin: 2px 0 0; font-weight: 400; font-size: 12.5px; color: var(--la-muted); }
	.woocommerce-cart table.cart td.product-price { grid-column: 2 / 4; font-size: 13.5px; }
	.woocommerce-cart table.cart td.product-quantity { grid-column: 2; }
	.woocommerce-cart table.cart td.product-subtotal { grid-column: 3; align-self: center; font-weight: 600; }
	.woocommerce-cart table.cart td.product-remove { position: absolute; top: 12px; right: 12px; }
	.woocommerce-cart table.cart td.actions { display: block; padding: 14px !important; }
	.woocommerce-cart table.cart td.actions .coupon { margin-top: 10px; }
}

/* ---------- Desktop cart and checkout: two clean columns (0.5.18) ---------- */
/* Stripe adds its Apple Pay / Google Pay box and an "or" line as extra items in the checkout
   form. Without placing them they took the top of the right column and pushed the order
   summary far down. They now sit at the top of the left column, above step 1. */
@media (min-width: 1024px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
		grid-template-rows: auto auto auto auto 1fr;
		gap: 0 56px;
	}
	.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
	.woocommerce-checkout form.checkout > .woocommerce-form-coupon-toggle { grid-column: 1 / -1; grid-row: 1; }
	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-element,
	.woocommerce-checkout form.checkout > wc-order-attribution-inputs { grid-column: 1; grid-row: 2; }
	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator { grid-column: 1; grid-row: 3; }
	.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 4 / 6; }
	.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 2; margin-top: 0; }
	.woocommerce-checkout #order_review { grid-column: 2; grid-row: 3 / 6; position: static; }

	/* Cart: products on the left, the receipt and checkout button beside them. */
	.woocommerce-cart .la-prose > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 420px); gap: 0 40px; align-items: start; }
	.woocommerce-cart .la-prose > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
	.woocommerce-cart .la-prose > .woocommerce > .woocommerce-cart-form { grid-column: 1; grid-row: 2; }
	.woocommerce-cart .la-prose > .woocommerce > .cart-collaterals { grid-column: 2; grid-row: 2; width: auto; }
	.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
	.woocommerce-cart .cart-collaterals .cart_totals h2 { margin-top: 0; }
	.woocommerce-cart .cart-collaterals .cross-sells { float: none; width: 100%; }
}
.woocommerce-checkout #wc-stripe-express-checkout-element { margin-bottom: 4px; }
.woocommerce-checkout #wc-stripe-express-checkout-button-separator { margin: 10px 0 22px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--la-muted); text-align: center; }
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element { margin-top: 10px; }
/* Phones: the shipping choices get the full width instead of half a table row. */
@media (max-width: 600px) {
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th,
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { display: block; width: auto; padding-left: 12px; padding-right: 12px; text-align: left; }
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th { padding-bottom: 4px; }
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { padding-top: 0; border-top: 0; }
}

/* Family pricing in the sticky buy bar: the number only; the chip and struck list price need the room. */
.la-sticky-buy__price .la-family-price__list, .la-sticky-buy__price .la-family-chip { display: none; }
.la-sticky-buy__price .la-family-price__now { text-decoration: none; font-weight: 600; }

/* My Account on phones: the section list becomes a scrolling strip instead of a full screen of links. */
@media (max-width: 719px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 0 18px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; border-top: 0; border-bottom: 1px solid var(--la-line); margin: 0 calc(-1 * var(--la-gutter)) 20px; padding: 0 var(--la-gutter); }
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 12px 0; border-bottom: 2px solid transparent; white-space: nowrap; font-size: 14px; }
	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: var(--la-ink-2); }
}
