/* Maalish — site styles. Values mirror brand/tokens/tokens.css (palette, type, radii). */

:root {
	--mc-ghee: #F6EFE2; --mc-linen: #FBF8F2; --mc-parchment: #EDE2CC; --mc-line: #E2D3BB;
	--mc-clove: #7A3B12; --mc-clove-deep: #5C2B0B; --mc-kohl: #2B1A0E; --mc-night: #1D120A;
	--mc-walnut: #6B5440; --mc-mustard: #C08A3E; --mc-mustard-light: #E3B062; --mc-sage: #6E7A58;
	--mc-serif: "Cormorant Garamond", "Cormorant", Georgia, serif;
	--mc-sans: Jost, "Avenir Next", "Segoe UI", system-ui, sans-serif;
	--mc-ease: cubic-bezier(.22, .61, .36, 1);
	--mc-radius: 18px;
	--mc-header-h: 76px;
	--mc-gutter: clamp(1.25rem, 4vw, 3rem);
	--mc-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .1 0 0 0 0 .05 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { background-color: var(--mc-ghee); background-image: var(--mc-grain); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background: var(--mc-mustard-light); color: var(--mc-kohl); }
:focus-visible { outline: 2px solid var(--mc-mustard); outline-offset: 3px; border-radius: 2px; }
img { height: auto; }
h1, h2, h3, h4, .mc-serif { font-variant-numeric: lining-nums; text-wrap: balance; }
p { text-wrap: pretty; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; transition: color .25s var(--mc-ease); }
.wp-site-blocks { padding-top: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0; }
main { margin-top: 0 !important; }

/* ---------- Type helpers ---------- */
.mc-eyebrow { font-family: var(--mc-sans); font-size: .78rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--mc-walnut); margin: 0 0 1.1rem; }
.mc-eyebrow::before { content: ""; display: inline-block; width: 1.8rem; height: 1px; background: var(--mc-mustard); vertical-align: middle; margin-right: .8rem; transform: translateY(-.15em); }
.mc-eyebrow--center::before { display: none; }
.mc-en { display: block; font-family: var(--mc-serif); font-style: italic; font-weight: 500; color: var(--mc-walnut); font-size: .62em; line-height: 1.3; margin-top: .45em; letter-spacing: 0; }
p .mc-en, li .mc-en { font-size: 1.12em; margin-top: .25em; }
.mc-en-inline { font-style: italic; opacity: .78; }
.mc-dot { margin: 0 .7em; opacity: .5; }
.mc-lead { font-family: var(--mc-sans); font-size: var(--wp--preset--font-size--lead); line-height: 1.55; color: var(--mc-kohl); max-width: 34em; }
.mc-display { font-family: var(--mc-serif); font-size: var(--wp--preset--font-size--display); font-weight: 500; line-height: 1.02; letter-spacing: -.012em; color: var(--mc-clove); margin: 0; }
.mc-display em { font-style: italic; color: var(--mc-mustard); }
.mc-rule { display: block; width: 64px; height: 1px; background: var(--mc-mustard); border: 0; margin: 1.6rem 0; }
.mc-rule--center { margin-inline: auto; }
.mc-small { font-size: var(--wp--preset--font-size--small); color: var(--mc-walnut); }
.mc-center { text-align: center; }
.mc-center .mc-lead { margin-inline: auto; }

/* ---------- Buttons ---------- */
.mc-btn, .wp-element-button, .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .6em;
	font-family: var(--mc-sans); font-weight: 500; font-size: .95rem; letter-spacing: .06em;
	padding: 1.02em 2.1em; border-radius: 999px; border: 1px solid var(--mc-clove);
	background: var(--mc-clove); color: var(--mc-ghee); text-decoration: none; cursor: pointer;
	transition: background-color .3s var(--mc-ease), color .3s var(--mc-ease), border-color .3s var(--mc-ease), transform .3s var(--mc-ease), box-shadow .3s var(--mc-ease);
}
.mc-btn:hover, .wp-element-button:hover, .wp-block-button__link:hover { background: var(--mc-clove-deep); border-color: var(--mc-clove-deep); color: var(--mc-ghee); transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(92,43,11,.55); }
.mc-btn:active { transform: translateY(0); }
.mc-btn--ghost { background: transparent; color: var(--mc-clove); }
.mc-btn--ghost:hover { background: var(--mc-clove); color: var(--mc-ghee); }
.mc-btn .mc-arrow { transition: transform .3s var(--mc-ease); }
.mc-btn:hover .mc-arrow { transform: translateX(4px); }
.mc-link { font-family: var(--mc-sans); font-size: .95rem; font-weight: 500; letter-spacing: .04em; color: var(--mc-clove); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.mc-link:hover { color: var(--mc-clove-deep); }
.mc-linklike { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: .18em; }

/* ---------- Soir (evening) surfaces ---------- */
.mc-soir { background-color: var(--mc-night); color: var(--mc-parchment); position: relative; isolation: isolate;
	background-image: radial-gradient(ellipse 70% 60% at 78% 30%, rgba(227,176,98,.16), transparent 60%), radial-gradient(ellipse 50% 40% at 10% 100%, rgba(164,82,26,.18), transparent 70%), var(--mc-grain); }
.mc-soir h1, .mc-soir h2, .mc-soir h3, .mc-soir .mc-display { color: var(--mc-ghee); }
.mc-soir .mc-display em { color: var(--mc-mustard-light); }
.mc-soir .mc-en { color: #C9B79C; }
.mc-soir .mc-eyebrow { color: var(--mc-mustard-light); }
.mc-soir .mc-lead, .mc-soir p { color: var(--mc-parchment); }
.mc-soir a:not(.mc-btn) { color: var(--mc-mustard-light); }
.mc-soir .mc-btn { background: var(--mc-mustard-light); border-color: var(--mc-mustard-light); color: var(--mc-night); }
.mc-soir .mc-btn:hover { background: #EEC27C; border-color: #EEC27C; color: var(--mc-night); box-shadow: 0 12px 30px -12px rgba(227,176,98,.6); }
.mc-soir .mc-btn--ghost { background: transparent; color: var(--mc-ghee); border-color: rgba(246,239,226,.45); }
.mc-soir .mc-btn--ghost:hover { background: rgba(246,239,226,.08); color: var(--mc-ghee); border-color: var(--mc-ghee); }
.mc-soir .mc-link { color: var(--mc-mustard-light); }
.mc-parchment { background-color: var(--mc-parchment); background-image: var(--mc-grain); }
.mc-linen { background-color: var(--mc-linen); }

/* ---------- Announcement + header ---------- */
.mc-announce { background: var(--mc-clove); color: var(--mc-ghee); font-size: .8rem; letter-spacing: .08em; padding-block: .62rem !important; }
.mc-announce p { margin: 0; }
.mc-header { position: sticky; top: 0; z-index: 50; background: rgba(246,239,226,.86); -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s, background-color .3s; }
.admin-bar .mc-header { top: 32px; }
.mc-header.is-scrolled { border-bottom-color: var(--mc-line); box-shadow: 0 10px 30px -24px rgba(43,26,14,.5); }
.mc-header__row { min-height: var(--mc-header-h); display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.mc-logo { display: inline-flex; justify-self: center; line-height: 0; }
.mc-header .mc-logo__full { height: 40px; width: auto; transition: height .3s var(--mc-ease); }
.mc-header.is-scrolled .mc-logo .mc-logo__full { height: 34px; }
.mc-logo__mark { display: none; height: 38px; width: auto; }
.mc-nav { font-family: var(--mc-sans); }
.mc-nav .wp-block-navigation-item__content { color: var(--mc-kohl) !important; text-decoration: none; position: relative; padding-block: .4rem; letter-spacing: .05em; }
.mc-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--mc-clove); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--mc-ease); }
.mc-nav .wp-block-navigation-item__content:hover::after, .mc-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.mc-header__actions { justify-self: end; gap: 1.1rem !important; }
.mc-header__shop { font-size: .88rem; font-weight: 500; letter-spacing: .06em; text-decoration: none; color: var(--mc-ghee); background: var(--mc-clove); padding: .62em 1.3em; border-radius: 999px; transition: background .3s; white-space: nowrap; }
.mc-header__shop:hover { background: var(--mc-clove-deep); color: var(--mc-ghee); }
.mc-header .wc-block-mini-cart__button, .mc-header .wc-block-customer-account a { color: var(--mc-kohl); padding: .35rem; }
.mc-header .wc-block-mini-cart__badge { background: var(--mc-clove) !important; color: var(--mc-ghee) !important; font-size: .68rem; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--mc-ghee) !important; background-image: var(--mc-grain) !important; padding: 2rem var(--mc-gutter) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--mc-serif); font-size: 2rem; color: var(--mc-clove) !important; letter-spacing: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1rem !important; }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }

@media (max-width: 899px) {
	.mc-header__row { grid-template-columns: auto 1fr auto; }
	.mc-logo { justify-self: center; }
	.mc-header .mc-logo__full { height: 30px; }
	.mc-header.is-scrolled .mc-logo .mc-logo__full { height: 28px; }
	.mc-header__shop, .mc-header .wc-block-customer-account { display: none !important; }
	.mc-announce { font-size: .72rem; letter-spacing: .04em; }
	.mc-announce .mc-dot, .mc-announce .mc-en-inline { display: none; }
	:root { --mc-header-h: 62px; }
}
@media (min-width: 600px) and (max-width: 899px) { .mc-nav .wp-block-navigation__responsive-container-open { display: flex; } }
@media (min-width: 900px) and (max-width: 1100px) { .mc-nav .wp-block-navigation__container { gap: 1.2rem !important; } .mc-header__shop .mc-en-inline { display: none; } }

/* ---------- Layout primitives ---------- */
.mc-section { padding-block: clamp(3.5rem, 7vw, 6rem) !important; position: relative; }
.mc-section--tight { padding-block: clamp(2.5rem, 5vw, 4rem) !important; }
.mc-split { display: grid; grid-template-columns: 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
@media (min-width: 900px) { .mc-split { grid-template-columns: 1.02fr .98fr; } .mc-split--flip > :first-child { order: 2; } }
.mc-stack > * + * { margin-top: 1.25rem; }

/* The arch: the brand's single framing device. */
.mc-arch { position: relative; border-radius: 999px 999px var(--mc-radius) var(--mc-radius); overflow: hidden; aspect-ratio: 4 / 5; background: var(--mc-parchment); box-shadow: 0 40px 80px -40px rgba(43,26,14,.45); isolation: isolate; }
.mc-arch img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.6s var(--mc-ease); }
.mc-arch::after { content: ""; position: absolute; inset: 10px; border-radius: 999px 999px 12px 12px; border: 1px solid rgba(246,239,226,.55); pointer-events: none; z-index: 2; }
.mc-arch:hover img { transform: scale(1.025); }
.mc-arch--tall { aspect-ratio: 3 / 4.2; }
.mc-arch--soft { box-shadow: none; }
.mc-frame { position: relative; border-radius: var(--mc-radius); overflow: hidden; }
.mc-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mc-caption { font-size: .8rem; color: var(--mc-walnut); margin-top: .8rem; font-style: italic; font-family: var(--mc-serif); font-size: 1rem; }
.mc-soir .mc-caption { color: #C9B79C; }

/* ---------- Hero ---------- */
.mc-hero { min-height: min(92vh, 940px); display: grid; align-items: center; padding-block: clamp(3rem, 7vw, 6rem) !important; overflow: hidden; }
.mc-hero__grid { display: grid; gap: clamp(2rem, 5vw, 5rem); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 900px) { .mc-hero__grid { grid-template-columns: 1.1fr .9fr; } }
.mc-hero__copy { position: relative; z-index: 2; }
.mc-hero__copy .mc-display { margin-bottom: .15em; }
.mc-hero__en { font-family: var(--mc-serif); font-style: italic; font-size: clamp(1.4rem, 2.6vw, 2.1rem); color: #C9B79C; margin: 0 0 1.8rem; }
.mc-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem 1.6rem; margin-top: 2.2rem; }
.mc-hero__meta { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; row-gap: .5rem; margin-top: 2.4rem; padding-top: 1.4rem; border-top: 1px solid rgba(227,176,98,.25); font-size: .85rem; letter-spacing: .04em; color: #C9B79C !important; }
.mc-hero__meta span + span::before { content: "·"; color: var(--mc-mustard-light); margin-right: 1.4rem; opacity: .7; }
.mc-hero__visual { position: relative; justify-self: center; width: min(100%, 470px); }
.mc-hero__visual .mc-arch { box-shadow: 0 60px 120px -40px rgba(0,0,0,.75), 0 0 0 1px rgba(227,176,98,.18); }
.mc-hero__glow { position: absolute; inset: -18% -25% -10%; background: radial-gradient(closest-side, rgba(227,176,98,.28), transparent 70%); filter: blur(10px); z-index: -1; animation: mcGlow 7s ease-in-out infinite alternate; }
.mc-hero__badge { position: absolute; left: -2.2rem; bottom: 12%; width: 118px; height: 118px; z-index: 3; animation: mcSpin 40s linear infinite; }
@media (max-width: 899px) { .mc-hero { min-height: 0; } .mc-hero__visual { width: min(82%, 380px); order: -1; } .mc-hero__badge { width: 88px; height: 88px; left: -1rem; } .mc-hero__copy { text-align: left; } }
@keyframes mcGlow { from { opacity: .75; transform: scale(.97); } to { opacity: 1; transform: scale(1.04); } }
@keyframes mcSpin { to { transform: rotate(360deg); } }

/* ---------- Trust strip ---------- */
.mc-trust { border-block: 1px solid var(--mc-line); background: var(--mc-linen); }
.mc-trust__list { list-style: none; margin: 0 auto; padding: 1.4rem 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem 2rem; max-width: 1240px; }
@media (min-width: 900px) { .mc-trust__list { grid-template-columns: repeat(4, 1fr); } }
.mc-trust__list li { display: flex; align-items: center; gap: .85rem; font-size: .88rem; line-height: 1.35; color: var(--mc-kohl); }
.mc-trust__list img { width: 34px; height: 34px; flex: none; }
.mc-trust__list strong { display: block; font-weight: 500; }
.mc-trust__list em { font-family: var(--mc-serif); font-size: 1.02rem; color: var(--mc-walnut); }

/* ---------- Manifesto quote ---------- */
.mc-manifesto { text-align: center; max-width: 900px; margin-inline: auto; }
.mc-manifesto blockquote { margin: 0; font-family: var(--mc-serif); font-weight: 500; font-size: clamp(1.9rem, 4.4vw, 3.4rem); line-height: 1.16; color: var(--mc-clove); letter-spacing: -.01em; }
.mc-manifesto blockquote .mc-en { font-size: .5em; margin-top: .9em; }
.mc-manifesto__mark { width: 44px; margin: 0 auto 1.8rem; display: block; }

/* ---------- Product spotlight ---------- */
.mc-spot__price { font-family: var(--mc-serif); font-size: clamp(2rem, 3.5vw, 2.6rem); color: var(--mc-clove); font-variant-numeric: lining-nums; margin: .4rem 0 0; }
.mc-spot__price small { font-family: var(--mc-sans); font-size: .9rem; color: var(--mc-walnut); margin-left: .6rem; letter-spacing: .04em; }
.mc-spot__list { list-style: none; padding: 0; margin: 1.8rem 0 2rem; border-top: 1px solid var(--mc-line); }
.mc-spot__list li { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .95rem 0; border-bottom: 1px solid var(--mc-line); font-size: .96rem; }
.mc-spot__list li b { font-weight: 500; color: var(--mc-walnut); letter-spacing: .08em; text-transform: uppercase; font-size: .74rem; padding-top: .2rem; }
.mc-soir .mc-spot__list, .mc-soir .mc-spot__list li { border-color: rgba(237,226,204,.16); }
.mc-soir .mc-spot__list li b { color: var(--mc-mustard-light); }
.mc-stock { font-size: .88rem; display: flex; align-items: center; gap: .55rem; margin: .4rem 0 0; color: var(--mc-walnut); }
.mc-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--mc-sage); box-shadow: 0 0 0 4px rgba(110,122,88,.18); }
.mc-stock.is-low::before { background: var(--mc-mustard); box-shadow: 0 0 0 4px rgba(192,138,62,.2); }
.mc-stock.is-out::before { background: var(--mc-walnut); }
.mc-soir .mc-stock { color: #C9B79C; }

/* ---------- Ritual steps ---------- */
.mc-steps { list-style: none; margin: clamp(2.5rem, 5vw, 4rem) 0 0; padding: 0; display: grid; gap: 1.5rem; grid-template-columns: 1fr; counter-reset: step; }
@media (min-width: 800px) { .mc-steps { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
.mc-step { position: relative; padding: 2.4rem 2rem 2.2rem; background: var(--mc-linen); border: 1px solid var(--mc-line); border-radius: 999px 999px var(--mc-radius) var(--mc-radius); text-align: center; transition: transform .5s var(--mc-ease), box-shadow .5s var(--mc-ease); }
.mc-step:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -36px rgba(43,26,14,.35); }
.mc-step__num { display: block; font-family: var(--mc-serif); font-style: italic; font-size: 1.05rem; color: var(--mc-mustard); margin: 1.4rem 0 .4rem; }
.mc-step img { width: 56px; height: 56px; margin: .6rem auto 0; display: block; }
.mc-step h3 { font-size: 1.75rem; margin: 0 0 .7rem; }
.mc-step p { margin: 0; color: var(--mc-kohl); font-size: .98rem; }
.mc-step p .mc-en { font-size: 1.05rem; }

/* ---------- Ingredients ---------- */
.mc-ingr { list-style: none; padding: 0; margin: 2.2rem 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid var(--mc-line); }
.mc-ingr li { padding: 1.3rem 1rem 1.3rem 0; border-bottom: 1px solid var(--mc-line); }
.mc-ingr li:nth-child(odd) { border-right: 1px solid var(--mc-line); }
.mc-ingr li:nth-child(even) { padding-left: 1.4rem; }
.mc-ingr h3 { font-size: 1.4rem; margin: 0; }
.mc-ingr h3 .mc-en { font-size: .72em; }
.mc-ingr p { margin: .35rem 0 0; font-size: .92rem; color: var(--mc-walnut); }
.mc-soir .mc-ingr, .mc-soir .mc-ingr li { border-color: rgba(237,226,204,.16); }
.mc-soir .mc-ingr p { color: #C9B79C; }

/* ---------- Image mosaic ---------- */
.mc-mosaic { display: grid; gap: 1rem; grid-template-columns: 1.2fr 1fr; grid-template-rows: auto auto; }
.mc-mosaic > :first-child { grid-row: span 2; }
.mc-mosaic .mc-frame { aspect-ratio: 4/5; }
.mc-mosaic .mc-frame:not(:first-child) { aspect-ratio: 1; }

/* ---------- Reviews / promise cards ---------- */
.mc-cards { display: grid; gap: 1.2rem; grid-template-columns: 1fr; margin-top: 2.5rem; }
@media (min-width: 800px) { .mc-cards { grid-template-columns: repeat(3, 1fr); } }
.mc-card { background: var(--mc-linen); border: 1px solid var(--mc-line); border-radius: var(--mc-radius); padding: 2rem; }
.mc-card h3 { font-size: 1.45rem; margin: .8rem 0 .5rem; }
.mc-card p { margin: 0; font-size: .95rem; }
.mc-card img { width: 40px; height: 40px; }
.mc-soir .mc-card { background: rgba(43,26,14,.6); border-color: rgba(237,226,204,.14); }

/* ---------- FAQ ---------- */
.mc-faq { max-width: 820px; margin: 2rem auto 0; border-top: 1px solid var(--mc-line); }
.mc-faq details { border-bottom: 1px solid var(--mc-line); }
.mc-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.35rem 0; font-family: var(--mc-serif); font-size: 1.4rem; font-weight: 500; color: var(--mc-clove); line-height: 1.3; }
.mc-faq summary::-webkit-details-marker { display: none; }
.mc-faq summary .mc-en { font-size: .78em; }
.mc-faq summary::after { content: ""; flex: none; width: 14px; height: 14px; background: linear-gradient(var(--mc-clove), var(--mc-clove)) center/14px 1px no-repeat, linear-gradient(var(--mc-clove), var(--mc-clove)) center/1px 14px no-repeat; transition: transform .35s var(--mc-ease); }
.mc-faq details[open] summary::after { transform: rotate(45deg); }
.mc-faq .mc-faq__a { padding: 0 3rem 1.6rem 0; color: var(--mc-kohl); }
.mc-faq .mc-faq__a p { margin: 0 0 .6rem; }
.mc-faq .mc-faq__a .mc-en { font-size: 1.08rem; }

/* ---------- Journal cards ---------- */
.mc-journal .wp-block-post-template { gap: 2rem !important; }
.mc-journal .wp-block-post-featured-image { margin: 0 0 1.2rem; border-radius: var(--mc-radius); overflow: hidden; aspect-ratio: 4/3; }
.mc-journal .wp-block-post-featured-image img { height: 100%; object-fit: cover; transition: transform 1.2s var(--mc-ease); }
.mc-journal li:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.mc-journal .wp-block-post-title { font-size: 1.55rem; line-height: 1.2; margin: .4rem 0 .5rem; }
.mc-journal .wp-block-post-title a { text-decoration: none; color: var(--mc-clove); }
.mc-journal .wp-block-post-excerpt { font-size: .95rem; color: var(--mc-walnut); }
.mc-journal .wp-block-post-excerpt__more-text { display: none; }
.mc-journal .wp-block-post-terms, .mc-journal .wp-block-post-date { font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--mc-walnut); }
.mc-journal .wp-block-post-terms a { text-decoration: none; color: inherit; }

/* ---------- Article ---------- */
.mc-article { max-width: 720px; margin-inline: auto; }
.mc-article .wp-block-post-content { font-size: 1.12rem; line-height: 1.75; }
.mc-article .wp-block-post-content > p:first-of-type::first-letter { font-family: var(--mc-serif); float: left; font-size: 4.2em; line-height: .82; margin: .06em .1em 0 0; color: var(--mc-clove); }
.mc-article .wp-block-post-content h2 { margin-top: 2.6rem; }
.mc-article .wp-block-post-content blockquote { border-left: 2px solid var(--mc-mustard); padding-left: 1.4rem; margin-left: 0; }
.mc-article .wp-block-post-content a { color: var(--mc-clove); }
.mc-article-hero .wp-block-post-featured-image { border-radius: var(--mc-radius); overflow: hidden; }
.mc-article-cta { margin-top: 3.5rem; border-radius: 999px 999px var(--mc-radius) var(--mc-radius); padding: 3.5rem 2rem 2.6rem; text-align: center; }

/* ---------- Footer ---------- */
.mc-footer { padding-top: var(--wp--preset--spacing--70) !important; padding-bottom: 2rem !important; }
.mc-letter { display: grid; gap: 2rem; align-items: end; grid-template-columns: 1fr; padding-bottom: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid rgba(237,226,204,.14); }
@media (min-width: 900px) { .mc-letter { grid-template-columns: 1.1fr .9fr; } }
.mc-letter__title { font-size: var(--wp--preset--font-size--heading-l); margin: 0; }
.mc-letter__title .mc-en { font-size: .55em; }
.mc-letter__soon { color: #C9B79C; }
.mc-letter form, .mc-letter .mailpoet_form { margin: 0 !important; padding: 0 !important; }
.mc-letter input[type="email"], .mc-letter .mailpoet_text { width: 100% !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(237,226,204,.4) !important; color: var(--mc-ghee) !important; font: inherit !important; font-size: 1.05rem !important; padding: .9rem 0 !important; border-radius: 0 !important; }
.mc-letter input[type="email"]::placeholder { color: #A8977E; }
.mc-letter input[type="submit"], .mc-letter .mailpoet_submit { margin-top: 1rem !important; background: var(--mc-mustard-light) !important; color: var(--mc-night) !important; border: 0 !important; border-radius: 999px !important; padding: .95em 2em !important; font: 500 .95rem var(--mc-sans) !important; letter-spacing: .06em !important; cursor: pointer; }
.mc-letter .mailpoet_paragraph { margin-bottom: .6rem !important; }
.mc-letter .mailpoet_checkbox_label, .mc-letter label { font-size: .82rem; color: #C9B79C; }
.mc-footer__grid { display: grid; gap: 2.5rem; grid-template-columns: 1fr 1fr; padding-block: clamp(3rem, 6vw, 4.5rem); }
@media (min-width: 900px) { .mc-footer__grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }
.mc-footer__brand { grid-column: 1 / -1; }
@media (min-width: 900px) { .mc-footer__brand { grid-column: auto; } }
.mc-footer__logo img { width: 240px; height: auto; }
.mc-footer__sig { font-family: var(--mc-serif); font-size: 1.35rem; font-style: italic; color: var(--mc-parchment) !important; margin: 1.6rem 0 .4rem; max-width: 22em; line-height: 1.35; }
.mc-footer__sig .mc-en { font-size: .78em; }
.mc-footer__place { font-size: .82rem; letter-spacing: .06em; color: #C9B79C !important; }
.mc-footer__col h3 { font-family: var(--mc-sans); font-size: .74rem; letter-spacing: .22em; text-transform: uppercase; color: var(--mc-mustard-light) !important; font-weight: 500; margin: 0 0 1.2rem; }
.mc-footer__col h3 .mc-en-inline { display: none; }
.mc-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.mc-footer__col a, .mc-footer__col button { color: var(--mc-parchment) !important; text-decoration: none; font-size: .94rem; }
.mc-footer__col a:hover, .mc-footer__col button:hover { color: var(--mc-mustard-light) !important; }
.mc-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 2rem; padding-top: 1.6rem; border-top: 1px solid rgba(237,226,204,.14); font-size: .78rem; color: #A8977E; }
.mc-footer__base p { margin: 0; color: #A8977E !important; }
.mc-footer__note { flex-basis: 100%; order: 3; }

/* ---------- Reveal on scroll ---------- */
@media (prefers-reduced-motion: no-preference) {
	.mc-js .mc-reveal { opacity: 0; transform: translateY(22px); transition: opacity 1.1s var(--mc-ease), transform 1.1s var(--mc-ease); }
	.mc-js .mc-reveal.is-in { opacity: 1; transform: none; }
	.mc-js .mc-reveal[data-delay="1"] { transition-delay: .12s; }
	.mc-js .mc-reveal[data-delay="2"] { transition-delay: .24s; }
	.mc-js .mc-reveal[data-delay="3"] { transition-delay: .36s; }
	.mc-hero .mc-hero__copy > * { animation: mcRise 1.2s var(--mc-ease) both; }
	.mc-hero .mc-hero__copy > :nth-child(2) { animation-delay: .1s; }
	.mc-hero .mc-hero__copy > :nth-child(3) { animation-delay: .2s; }
	.mc-hero .mc-hero__copy > :nth-child(4) { animation-delay: .3s; }
	.mc-hero .mc-hero__copy > :nth-child(5) { animation-delay: .4s; }
	.mc-hero .mc-hero__visual { animation: mcRise 1.6s .15s var(--mc-ease) both; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@keyframes mcRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* ================= WooCommerce ================= */

/* Product page */
.mc-pdp { padding-block: clamp(1.5rem, 4vw, 3.5rem) clamp(3rem, 6vw, 5rem) !important; }
.mc-pdp__grid { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
@media (min-width: 960px) { .mc-pdp__grid { grid-template-columns: 1.08fr .92fr; } .mc-pdp__media { position: sticky; top: calc(var(--mc-header-h) + 1.5rem); } }
.mc-crumbs { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mc-walnut); margin-bottom: 1.4rem; }
.mc-crumbs a { color: inherit; text-decoration: none; }
.mc-pdp .woocommerce-product-gallery, .mc-pdp .wc-block-product-gallery { margin: 0 !important; }
.mc-pdp .woocommerce-product-gallery .flex-viewport, .mc-pdp .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper:only-child { border-radius: 999px 999px var(--mc-radius) var(--mc-radius); overflow: hidden; background: var(--mc-linen); box-shadow: 0 40px 80px -48px rgba(43,26,14,.45); }
.mc-pdp .woocommerce-product-gallery__image > a { display: block; aspect-ratio: 4 / 5; }
.mc-pdp .woocommerce-product-gallery__image img { width: 100%; height: 100% !important; object-fit: cover; }
.mc-pdp .woocommerce-product-gallery__image img { border-radius: 0 !important; }
.mc-pdp .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: .6rem; margin-top: .9rem !important; }
.mc-pdp .flex-control-thumbs li { width: auto !important; float: none !important; }
.mc-pdp .flex-control-thumbs img { border-radius: 10px; opacity: .6; transition: opacity .3s, box-shadow .3s; aspect-ratio: 1; object-fit: cover; }
.mc-pdp .flex-control-thumbs img.flex-active, .mc-pdp .flex-control-thumbs img:hover { opacity: 1; box-shadow: 0 0 0 1px var(--mc-clove); }
.mc-pdp .woocommerce-product-gallery__trigger { background: var(--mc-linen) !important; border-radius: 50%; top: 1.4rem !important; right: 1.4rem !important; }
.mc-pdp__title { font-size: clamp(2.3rem, 4.4vw, 3.4rem) !important; line-height: 1.04 !important; margin: 0 !important; }
.mc-pdp__title .mc-en { font-size: .5em; }
.mc-pdp .wp-block-post-title .mc-en { font-size: .5em; }
.mc-pdp .wc-block-components-product-price, .mc-pdp .wp-block-woocommerce-product-price { font-family: var(--mc-serif) !important; font-size: 2.1rem !important; color: var(--mc-clove) !important; font-variant-numeric: lining-nums; }
.mc-pdp__meta { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin: 1.2rem 0 .2rem; }
.mc-pdp__meta small { font-size: .85rem; color: var(--mc-walnut); letter-spacing: .04em; }
.mc-pdp .wp-block-post-excerpt, .mc-pdp .woocommerce-product-details__short-description { font-size: 1.04rem; margin: 1.4rem 0; }
.mc-pdp .wp-block-post-excerpt p:last-child em, .mc-pdp .woocommerce-product-details__short-description p:last-child em { display: block; font-size: .8rem; color: var(--mc-walnut); font-style: italic; margin-top: .8rem; }
.mc-pdp form.cart { display: flex; flex-wrap: wrap; gap: .8rem; align-items: stretch; margin: 1.6rem 0 1rem !important; }
.mc-pdp form.cart .quantity { display: flex; border: 1px solid var(--mc-line); border-radius: 999px; background: var(--mc-linen); overflow: hidden; }
.mc-pdp form.cart .quantity input.qty { width: 3.4rem; border: 0; background: transparent; text-align: center; font: 500 1rem var(--mc-sans); color: var(--mc-kohl); -moz-appearance: textfield; }
.mc-pdp form.cart .quantity input::-webkit-outer-spin-button, .mc-pdp form.cart .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.mc-qty-btn { width: 2.8rem; border: 0; background: transparent; font-size: 1.2rem; color: var(--mc-clove); cursor: pointer; transition: background .2s; }
.mc-qty-btn:hover { background: var(--mc-parchment); }
.mc-pdp form.cart .single_add_to_cart_button { flex: 1 1 14rem; min-height: 3.5rem; font-size: 1rem !important; }
.mc-pdp__assure { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; gap: .75rem; font-size: .92rem; }
.mc-pdp__assure li { display: flex; gap: .8rem; align-items: center; }
.mc-pdp__assure img { width: 28px; height: 28px; flex: none; }
.mc-acc { margin-top: 2rem; border-top: 1px solid var(--mc-line); }
.mc-acc details { border-bottom: 1px solid var(--mc-line); }
.mc-acc summary { list-style: none; cursor: pointer; padding: 1.15rem 0; display: flex; justify-content: space-between; align-items: center; font-family: var(--mc-sans); font-size: .82rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--mc-kohl); }
.mc-acc summary::-webkit-details-marker { display: none; }
.mc-acc summary::after { content: "+"; font-family: var(--mc-serif); font-size: 1.6rem; font-weight: 400; letter-spacing: 0; color: var(--mc-clove); transition: transform .3s var(--mc-ease); line-height: 1; }
.mc-acc details[open] summary::after { transform: rotate(45deg); }
.mc-acc .mc-acc__body { padding: 0 0 1.4rem; font-size: .96rem; }
.mc-acc .mc-acc__body p { margin: 0 0 .7rem; }
.mc-acc .mc-acc__body hr { border: 0; border-top: 1px dashed var(--mc-line); margin: 1.2rem 0; }
.mc-pdp .woocommerce-tabs, .mc-pdp .wc-tabs-wrapper { display: none; }
.mc-pdp .product_meta { display: none; }

/* Sticky buy bar (mobile + after scrolling past the buy box) */
.mc-sticky-buy { position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 1rem; padding: .8rem var(--mc-gutter) calc(.8rem + env(safe-area-inset-bottom)); background: rgba(251,248,242,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--mc-line); transform: translateY(110%); transition: transform .45s var(--mc-ease); }
.mc-sticky-buy.is-on { transform: none; }
.mc-sticky-buy__img { width: 44px; height: 44px; border-radius: 22px 22px 6px 6px; object-fit: cover; flex: none; background: var(--mc-parchment); }
.mc-sticky-buy__txt { flex: 1; min-width: 0; line-height: 1.25; }
.mc-sticky-buy__txt strong { display: block; font-family: var(--mc-serif); font-size: 1.1rem; font-weight: 600; color: var(--mc-clove); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-sticky-buy__txt span { font-size: .82rem; color: var(--mc-walnut); }
.mc-sticky-buy .mc-btn { padding: .85em 1.5em; white-space: nowrap; }

/* Free-shipping bar */
.mc-ship-bar { background: var(--mc-linen); border: 1px solid var(--mc-line); border-radius: 14px; padding: 1rem 1.2rem 1.1rem; margin: 0 0 1.6rem; }
.mc-ship-bar__text { margin: 0 0 .7rem; font-size: .9rem; }
.mc-ship-bar__done { display: none; color: var(--mc-sage); font-weight: 500; }
.mc-ship-bar.is-done .mc-ship-bar__todo { display: none; }
.mc-ship-bar.is-done .mc-ship-bar__done { display: inline; }
.mc-ship-bar__track { display: block; height: 4px; border-radius: 4px; background: var(--mc-parchment); overflow: hidden; }
.mc-ship-bar__fill { display: block; height: 100%; background: linear-gradient(90deg, var(--mc-mustard), var(--mc-clove)); border-radius: inherit; transition: width .6s var(--mc-ease); }
.mc-ship-bar.is-done .mc-ship-bar__fill { background: var(--mc-sage); }
.wc-block-mini-cart__drawer .mc-ship-bar { margin: 0 1rem 1rem; }

/* Mini-cart drawer */
.wc-block-mini-cart__drawer .components-modal__content, .wc-block-components-drawer { background: var(--mc-ghee) !important; background-image: var(--mc-grain) !important; }
.wc-block-mini-cart__title { font-family: var(--mc-serif) !important; font-weight: 500 !important; color: var(--mc-clove) !important; font-size: 1.8rem !important; }
.wc-block-mini-cart__footer { background: var(--mc-linen); border-top: 1px solid var(--mc-line) !important; }
.wc-block-mini-cart__footer-actions .wc-block-components-button { border-radius: 999px !important; }
.wc-block-mini-cart__footer-cart.wc-block-components-button { background: transparent !important; color: var(--mc-clove) !important; border: 1px solid var(--mc-clove) !important; }
.wc-block-mini-cart__footer-checkout { background: var(--mc-clove) !important; color: var(--mc-ghee) !important; }

/* Cart + checkout blocks */
.mc-is-commerce main { padding-block: clamp(2rem, 5vw, 4rem) !important; }
.mc-commerce-title { text-align: center; margin-bottom: 2.5rem; }
.mc-commerce-title h1 { margin: 0; }
.wc-block-cart, .wc-block-checkout { font-family: var(--mc-sans); }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { padding-top: 0 !important; }
.wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-totals-wrapper, .wp-block-woocommerce-checkout-order-summary-block, .wp-block-woocommerce-cart-order-summary-block { border-color: var(--mc-line) !important; }
.wp-block-woocommerce-checkout-order-summary-block, .wc-block-cart__sidebar { background: var(--mc-linen); border: 1px solid var(--mc-line) !important; border-radius: var(--mc-radius); padding: 1.4rem 1.4rem .6rem !important; }
.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__totals-title { font-family: var(--mc-serif) !important; font-weight: 500 !important; color: var(--mc-clove) !important; font-size: 1.5rem !important; text-transform: none !important; letter-spacing: 0 !important; }
.wc-block-components-checkout-step__heading-container { margin-bottom: .8rem !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-form .wc-block-components-text-input input, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea { background: var(--mc-linen) !important; border: 1px solid #D9C7AA !important; border-radius: 10px !important; color: var(--mc-kohl) !important; box-shadow: none !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--mc-clove) !important; box-shadow: 0 0 0 1px var(--mc-clove) !important; }
.wc-block-components-text-input label, .wc-blocks-components-select__label { color: var(--mc-walnut) !important; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--mc-clove) !important; color: var(--mc-ghee) !important; border-radius: 999px !important; min-height: 3.4rem; font: 500 1rem var(--mc-sans) !important; letter-spacing: .05em !important; border: 0 !important; transition: background .3s; }
.wc-block-components-button:not(.is-link):hover { background: var(--mc-clove-deep) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--mc-line) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 1.5px var(--mc-clove) !important; border-radius: 10px; }
.wc-block-components-radio-control__input:checked, .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--mc-clove) !important; border-color: var(--mc-clove) !important; }
.wc-block-components-product-name { font-family: var(--mc-serif); font-size: 1.15rem !important; color: var(--mc-clove) !important; text-decoration: none; font-weight: 600; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 14px 14px 4px 4px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--mc-serif); font-size: 1.5rem !important; color: var(--mc-clove); font-weight: 600 !important; }
.wc-block-components-quantity-selector { border-radius: 999px !important; border-color: var(--mc-line) !important; }
.wc-block-components-notice-banner { border-radius: 12px !important; }
.mc-checkout-trust { list-style: none; padding: 1rem 0 0; margin: 0; display: grid; gap: .45rem; font-size: .82rem; color: var(--mc-walnut); }
.mc-checkout-trust li::before { content: ""; display: inline-block; width: 1.1rem; height: 1px; background: var(--mc-mustard); margin-right: .6rem; vertical-align: middle; }
.wc-block-checkout__terms { font-size: .85rem; color: var(--mc-walnut); }

/* Order confirmation */
.mc-thanks { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; }
.mc-thanks__seal { width: 110px; margin: 0 auto 1.6rem; display: block; }
.mc-next { list-style: none; padding: 0; margin: 2.2rem auto 0; display: grid; gap: 1rem; grid-template-columns: 1fr; max-width: 900px; text-align: left; counter-reset: nx; }
@media (min-width: 760px) { .mc-next { grid-template-columns: repeat(3, 1fr); } }
.mc-next li { background: var(--mc-linen); border: 1px solid var(--mc-line); border-radius: var(--mc-radius); padding: 1.5rem; counter-increment: nx; font-size: .93rem; }
.mc-next li::before { content: counter(nx, decimal-leading-zero); display: block; font-family: var(--mc-serif); font-style: italic; color: var(--mc-mustard); font-size: 1.2rem; margin-bottom: .5rem; }
.mc-next strong { display: block; font-family: var(--mc-serif); font-size: 1.3rem; font-weight: 600; color: var(--mc-clove); margin-bottom: .3rem; }
.wc-block-order-confirmation-summary, .wc-block-order-confirmation-totals-wrapper, .wc-block-order-confirmation-shipping-wrapper, .wc-block-order-confirmation-billing-wrapper { background: var(--mc-linen); border: 1px solid var(--mc-line); border-radius: var(--mc-radius); padding: 1.5rem; }
.wc-block-order-confirmation-summary { margin-bottom: 2rem; }

/* Generic page content */
.mc-page-head { text-align: center; padding-block: clamp(3rem, 7vw, 6rem) clamp(2rem, 4vw, 3rem) !important; }
.mc-page-head h1 { margin: 0; }
.mc-page-body { padding-bottom: var(--wp--preset--spacing--70) !important; }
.mc-page-body .wp-block-post-content > * { max-width: 720px; margin-inline: auto; }
.mc-page-body .wp-block-post-content hr { border: 0; border-top: 1px solid var(--mc-line); margin: 2.5rem auto; }

/* ---------- Cookie consent ---------- */
.mc-consent { position: fixed; z-index: 100; left: 1rem; right: 1rem; bottom: 1rem; display: flex; justify-content: flex-start; pointer-events: none; }
@media (min-width: 900px) { .mc-consent__inner { max-width: 440px; } .mc-consent { left: 1.5rem; bottom: 1.5rem; } }
.mc-consent[hidden] { display: none; }
.mc-consent__inner { pointer-events: auto; max-width: 640px; width: 100%; background: var(--mc-linen); border: 1px solid var(--mc-line); border-radius: 20px; padding: 1.5rem 1.6rem; box-shadow: 0 30px 80px -30px rgba(43,26,14,.45); animation: mcRise .7s var(--mc-ease) both; }
.mc-consent__title { font-family: var(--mc-serif); font-size: 1.35rem; font-weight: 600; color: var(--mc-clove); margin: 0 0 .4rem; }
.mc-consent__text { font-size: .88rem; margin: 0; }
.mc-consent__text .mc-en { font-size: 1rem; }
.mc-consent__prefs { display: grid; gap: .5rem; margin: 1rem 0 0; font-size: .9rem; }
.mc-consent__prefs input { accent-color: var(--mc-clove); margin-right: .5rem; }
.mc-consent__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
.mc-consent__actions .mc-btn { padding: .75em 1.4em; font-size: .85rem; flex: 1 1 auto; }
.mc-is-product .mc-consent { bottom: 5.2rem; }

/* Utility visibility */
@media (max-width: 899px) { .mc-hide-mobile { display: none !important; } }
@media (min-width: 900px) { .mc-hide-desktop { display: none !important; } }
.screen-reader-text { clip: rect(1px,1px,1px,1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }

/* ---------- Cinematic band ---------- */
.mc-band { position: relative; min-height: min(78vh, 760px); display: grid; align-items: end; overflow: hidden; background: var(--mc-night); }
.mc-band picture, .mc-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mc-band img { object-position: 70% 50%; transform: scale(1.04); transition: transform 2.4s var(--mc-ease); }
.mc-band.is-in img { transform: scale(1); }
.mc-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(29,18,10,.82) 0%, rgba(29,18,10,.45) 42%, rgba(29,18,10,0) 70%); }
.mc-band__text { position: relative; z-index: 2; max-width: 1240px; width: 100%; margin: 0 auto; padding: clamp(3rem, 8vw, 7rem) var(--mc-gutter); }
.mc-band__text .mc-eyebrow { color: var(--mc-mustard-light); }
.mc-band__quote { font-family: var(--mc-serif); font-size: clamp(2rem, 4.6vw, 3.6rem); line-height: 1.1; color: var(--mc-ghee); max-width: 13em; margin: 0; font-weight: 500; }
.mc-band__quote .mc-en { color: #D9C7AA; font-size: .5em; }
@media (max-width: 767px) { .mc-band { min-height: 120vw; } .mc-band::after { background: linear-gradient(0deg, rgba(29,18,10,.9) 0%, rgba(29,18,10,.35) 55%, rgba(29,18,10,0) 80%); } .mc-band img { object-position: 50% 50%; } }
.mc-js .mc-band.mc-reveal { opacity: 1; transform: none; }

/* Respect the hidden attribute even on styled elements. */
[hidden] { display: none !important; }

.mc-hero__grid, .mc-band__text, .mc-section > div, .mc-trust__list { box-sizing: border-box; }
*, *::before, *::after { box-sizing: border-box; }
.wp-site-blocks main > * + *, main.wp-block-group > * + * { margin-block-start: 0; }
@media (max-width: 479px) { .mc-trust__list { grid-template-columns: 1fr; gap: .9rem; } }
.mc-pdp__excerpt p { margin: 0 0 .8rem; }
.mc-pdp__excerpt .mc-en { font-size: 1.1rem; }

.mc-pdp p.stock { display: none; }
.wc-block-components-product-name, .wc-block-components-totals-item__value, .wc-block-formatted-money-amount { font-variant-numeric: lining-nums; }

/* The cart's checkout button sometimes renders only in its mobile "sticky" form; on desktop show it in the flow. */
@media (min-width: 783px) {
	.wc-block-cart .wc-block-cart__submit-container--sticky { display: block !important; position: static !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
	.wc-block-cart .wc-block-cart__submit-container--sticky::before { display: none !important; }
}
.wc-block-cart .wc-block-cart__submit-container { margin-top: 1rem; }
.wc-block-cart .wc-block-cart__submit-button { width: 100%; }
@media (max-width: 782px) { .wc-block-cart .wc-block-cart__submit-container--sticky { background: rgba(251,248,242,.96) !important; } .mc-is-commerce { padding-bottom: 88px; } }

/* ===== Pass 5 (Astra + Fable review) ===== */
/* Ritual steps: unboxed, numbered, hairline-topped — the arch stays for photographs. */
.mc-step { background: none; border: 0; border-top: 1px solid var(--mc-line); border-radius: 0; padding: 2rem .5rem 0; text-align: left; }
.mc-step:hover { transform: none; box-shadow: none; }
.mc-step img { margin: 0 0 1rem; width: 40px; height: 40px; }
.mc-step__num { margin: 0 0 .2rem; font-size: 1.15rem; color: var(--mc-clove); opacity: .8; }
.mc-step h3 { font-size: 1.9rem; }
.mc-steps { text-align: left; }
@media (max-width: 799px) { .mc-steps { gap: 0; } .mc-step { display: grid; grid-template-columns: 40px 1fr; column-gap: 1.1rem; padding: 1.4rem 0; } .mc-step img { grid-row: span 3; margin: .2rem 0 0; } .mc-step h3 { font-size: 1.6rem; margin-bottom: .4rem; } }

/* Hero: lighter lead, English quieter; on phones the words come first and the arch is smaller. */
.mc-hero .mc-lead { font-weight: 400; font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: rgba(246,239,226,.88) !important; }
.mc-hero .mc-lead .mc-en { font-size: 1.12rem; color: rgba(217,199,170,.85); }
@media (max-width: 899px) {
	.mc-hero { padding-block: 2.2rem 3rem !important; }
	.mc-hero__visual { order: 2; width: min(72%, 320px); margin-top: .5rem; }
	.mc-hero__copy .mc-display { font-size: clamp(2.6rem, 11vw, 3.4rem); }
	.mc-hero__en { margin-bottom: 1.2rem; }
	.mc-hero__actions { margin-top: 1.6rem; }
	.mc-hero__meta { margin-top: 1.6rem; }
}

/* Cinematic band: on phones the words sit under the picture on solid night, never over the label. */
@media (max-width: 767px) {
	.mc-band { display: block; min-height: 0; }
	.mc-band picture, .mc-band img { position: relative; inset: auto; height: auto; aspect-ratio: 4 / 5; }
	.mc-band::after { display: none; }
	.mc-band__text { padding: 2.2rem var(--mc-gutter) 3rem; }
}
@media (min-width: 768px) { .mc-band__text { max-width: 1240px; } .mc-band__quote { max-width: 11em; } .mc-band::after { background: linear-gradient(90deg, rgba(29,18,10,.9) 0%, rgba(29,18,10,.6) 38%, rgba(29,18,10,0) 62%); } }

/* Contrast and status details. */
.mc-soir .mc-spot__price small { color: rgba(246,239,226,.75); }
.mc-stock::before { background: var(--mc-mustard); box-shadow: 0 0 0 4px rgba(192,138,62,.2); }
@media (max-width: 599px) { .mc-spot__list li { grid-template-columns: 1fr; gap: .3rem; } .mc-stock { display: block; } .mc-stock::before { display: inline-block; margin-right: .5rem; } }
.mc-pdp__ship { font-size: .92rem; color: var(--mc-walnut); margin: .2rem 0 0; }
.mc-pdp__ship strong { color: var(--mc-kohl); font-weight: 500; }

/* FAQ: plus / minus, roomy tap targets. */
.mc-faq summary { min-height: 44px; }
.mc-faq summary::after { transform: none !important; background: linear-gradient(var(--mc-clove), var(--mc-clove)) center/14px 1px no-repeat, linear-gradient(var(--mc-clove), var(--mc-clove)) center/1px 14px no-repeat; transition: background-size .3s var(--mc-ease); }
.mc-faq details[open] summary::after { background-size: 14px 1px, 1px 0; }
.mc-faq__more { text-align: center; margin-top: 2.4rem; font-family: var(--mc-serif); font-size: 1.4rem; color: var(--mc-clove); }
.mc-faq__more .mc-en { font-size: .78em; }

/* Commerce pages: tighter top, summary in the brand serif, no repeated descriptions. */
.mc-is-commerce .mc-commerce-title { margin-bottom: 1.6rem; }
.mc-is-commerce main { padding-top: 2rem !important; }
.mc-is-commerce .mc-commerce-title h1 { font-size: clamp(2rem, 3.4vw, 2.6rem); }
.wc-block-components-product-metadata__description, .wc-block-cart-item__product .wc-block-components-product-metadata { display: none !important; }
.wc-block-components-checkout-order-summary__title-text, .wc-block-components-order-summary__button-text, .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title { font-family: var(--mc-serif) !important; font-weight: 500 !important; font-size: 1.55rem !important; color: var(--mc-clove) !important; }
.wc-block-checkout__guest-checkout-notice { font-size: .85rem; color: var(--mc-walnut); }
.wc-block-components-express-payment__title-container .wc-block-components-express-payment__title { font: 500 .72rem var(--mc-sans) !important; letter-spacing: .2em; text-transform: uppercase; color: var(--mc-clove) !important; }
.wc-block-components-express-payment--checkout, .wc-block-components-express-payment--cart { border-color: var(--mc-line) !important; border-radius: 14px !important; }

/* Reviews */
.mc-reviews { background: var(--mc-linen); border-top: 1px solid var(--mc-line); padding: var(--wp--preset--spacing--60) var(--mc-gutter); }
.mc-reviews__inner { max-width: 820px; margin: 0 auto; text-align: center; }
.mc-reviews h2 { margin: 0 0 1.4rem; }
.mc-reviews__list { list-style: none; padding: 0; margin: 2rem 0; display: grid; gap: 1.2rem; text-align: left; }
.mc-reviews__list li { border-top: 1px solid var(--mc-line); padding-top: 1.2rem; }
.mc-reviews__stars { color: var(--mc-mustard); letter-spacing: .15em; margin: 0; }
.mc-reviews blockquote { margin: .4rem 0; font-family: var(--mc-serif); font-size: 1.3rem; color: var(--mc-kohl); }
.mc-reviews .comment-respond { text-align: left; margin-top: 2rem; }
.mc-reviews textarea, .mc-reviews select { width: 100%; border: 1px solid #D9C7AA; border-radius: 10px; background: #fff; padding: .7rem; font: inherit; }

/* Sign-up forms */
.mc-hp { position: absolute !important; left: -9999px !important; }
.mc-signup { display: grid; gap: .9rem; }
.mc-signup__row { display: flex; gap: .7rem; flex-wrap: wrap; }
.mc-signup__row input[type=email] { flex: 1 1 14rem; min-height: 3.2rem; padding: .8rem 1.1rem; border-radius: 999px; border: 1px solid #D9C7AA; background: var(--mc-linen); font: inherit; color: var(--mc-kohl); }
.mc-soir .mc-signup__row input[type=email] { background: rgba(246,239,226,.06); border-color: rgba(237,226,204,.35); color: var(--mc-ghee); }
.mc-soir .mc-signup__row input[type=email]::placeholder { color: #A8977E; }
.mc-signup__lang { border: 0; padding: 0; margin: 0; display: flex; gap: 1.2rem; font-size: .88rem; }
.mc-signup__consent { display: flex; gap: .7rem; align-items: flex-start; font-size: .82rem; line-height: 1.5; }
.mc-signup__consent input, .mc-signup__lang input { accent-color: var(--mc-clove); margin-top: .2rem; }
.mc-soir .mc-signup__consent input, .mc-soir .mc-signup__lang input { accent-color: var(--mc-mustard-light); }
.mc-signup__who { font-size: .76rem; opacity: .75; margin: 0; }
.mc-signup__msg { background: rgba(110,122,88,.14); border-radius: 10px; padding: .7rem 1rem; font-size: .88rem; margin: 0; }
.mc-soir .mc-signup label, .mc-soir .mc-signup__who { color: #C9B79C; }

/* Journal grid: three across on desktop, one on phones. */
.mc-journal .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
@media (min-width: 700px) { .mc-journal .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1000px) { .mc-journal .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, 1fr) !important; } }
.mc-journal .wp-block-post-featured-image { aspect-ratio: 4 / 3; }
.mc-journal .wp-block-post-featured-image img { width: 100%; aspect-ratio: 4 / 3; }

/* Language toggle and English pages */
.mc-lang { display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; letter-spacing: .1em; font-weight: 500; }
.mc-lang a { text-decoration: none; color: var(--mc-walnut); padding: .3rem .15rem; border-bottom: 1px solid transparent; }
.mc-lang a[aria-current] { color: var(--mc-clove); border-bottom-color: var(--mc-clove); }
.mc-lang span { color: var(--mc-line); }
.mc-en-main { font: inherit; color: inherit; font-style: inherit; opacity: 1; display: inline; margin: 0; letter-spacing: inherit; }
@media (max-width: 899px) { .mc-header .mc-lang { display: inline-flex !important; font-size: .74rem; } }

/* Language-specific fragments in static templates */
html[lang^="fr"] .mc-en-only { display: none !important; }

/* ===== Pass 6 (design review, 2026-10-14) ===== */

/* 1. One language per page. French pages used to echo every line in italic English; the English site
   lives at /en/ (header toggle), so the echoes only doubled the reading load. The hero keeps its one
   English line (.mc-hero__en) as a wink to anglophone visitors. To bring the echoes back, delete this block. */
html[lang^="fr"] .mc-en,
html[lang^="fr"] .mc-en-inline,
html[lang^="fr"] .mc-en-p,
html[lang^="fr"] .mc-dot { display: none !important; }
html[lang^="fr"] .mc-announce p { letter-spacing: .1em; }

/* Language toggle: now the only way to English, so it reads as a control, not decoration. */
.mc-lang { font-size: .82rem; gap: .35rem; }
.mc-lang a { padding: .3rem .2rem; transition: color .25s var(--mc-ease), border-color .25s var(--mc-ease); }
.mc-lang a:hover { color: var(--mc-clove); }
.mc-lang a[aria-current] { font-weight: 600; }
.mc-lang span { color: var(--mc-walnut); opacity: .45; }

/* 2. Header between 600 and 899px showed the hamburger AND the inline menu (WordPress only collapses
   the navigation block below 600px). One header behaviour up to 899px: logo, toggle, cart. */
@media (max-width: 899px) {
	.mc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.mc-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.mc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex !important; }
	.mc-header__row { gap: .75rem; }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding-block: .35rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }

/* 3. Five ingredients, five cells: the last odd cell spans the row so the grid never ends on a half. */
.mc-ingr li:nth-child(odd):last-child { grid-column: 1 / -1; border-right: 0; }
.mc-ingr li { padding-right: 1.4rem; }
.mc-ingr h3 { font-size: 1.45rem; }

/* 4. Cart: no free-shipping maths on an empty cart, no stock sad-face icon, one clear way back to the oil. */
.mc-ship-bar.is-empty { display: none !important; }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none !important; }
.wc-block-cart__empty-cart__title { font-family: var(--mc-serif); font-size: 1.6rem !important; color: var(--mc-clove); margin: 2rem 0 .8rem !important; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator, .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title), .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new, .wp-block-woocommerce-empty-cart-block .wc-block-grid { display: none !important; }
.wp-block-woocommerce-empty-cart-block { padding-bottom: 2rem; }
.wp-block-woocommerce-empty-cart-block .wp-block-button__link, .wp-block-woocommerce-empty-cart-block a.wp-element-button { display: inline-flex; }

/* 5. Hero: the lead is one paragraph now, so it gets a touch more air before the actions. */
.mc-hero .mc-lead { max-width: 30em; }
.mc-hero__actions { margin-top: 2rem; }
@media (max-width: 899px) { .mc-hero__meta span + span::before { margin-right: 1rem; } }

/* 6. Spotlight list: the French line stands alone, so no trailing gap where the English was. */
.mc-spot__list li span br:last-child { display: none; }

/* 7. Sticky buy bar is for phones and tablets; on desktop the sticky gallery already keeps the offer in view. */
@media (min-width: 960px) { .mc-sticky-buy { display: none !important; } }

/* 8. Product buy box: the assurance list carries the shipping line; the price line carries the exact rates. */
.mc-pdp__assure { margin-top: 1.4rem; }
.mc-pdp__ship { line-height: 1.5; }

/* 9. Footer letter: shorter consent copy, lighter sign-off. */
.mc-signup__consent { font-size: .84rem; }
.mc-signup__who { font-size: .78rem; }

/* 10. Manifesto: a quieter size now that it stands alone between the trust strip and the story. */
.mc-manifesto blockquote { font-size: clamp(1.8rem, 3.8vw, 3rem); }
.mc-manifesto__mark { margin-bottom: 1.4rem; }

/* 11. Phones: the logo sits dead centre between the menu toggle and the cart; the account icon waits for wider screens. */
@media (max-width: 899px) {
	.mc-header__row { grid-template-columns: 1fr auto 1fr; }
	.mc-nav { justify-self: start; }
	.mc-header__actions { justify-self: end; gap: .8rem !important; }
	.mc-header .wp-block-woocommerce-customer-account { display: none !important; }
	.mc-hero__meta { flex-direction: column; gap: .4rem; }
	.mc-hero__meta span + span::before { display: none; }
}

/* 12. Manifesto and section heads wrap into even lines; a section that only introduces a grid keeps no bottom padding. */
.mc-manifesto blockquote, .mc-band__quote { text-wrap: balance; }
.mc-section--head { padding-bottom: 0 !important; }
.mc-section--head + .mc-journal { padding-top: 2rem; }

/* 13. Empty cart: the way back to the oil is a button, not a bare link. */
.wp-block-woocommerce-empty-cart-block p.has-text-align-center > a { display: inline-flex; align-items: center; font-family: var(--mc-sans); font-weight: 500; font-size: .95rem; letter-spacing: .06em; padding: 1em 2.1em; border-radius: 999px; background: var(--mc-clove); color: var(--mc-ghee); text-decoration: none; transition: background-color .3s var(--mc-ease); }
.wp-block-woocommerce-empty-cart-block p.has-text-align-center > a:hover { background: var(--mc-clove-deep); color: var(--mc-ghee); }
.wc-block-cart__empty-cart__title { margin-bottom: 1.4rem !important; }
