/*
Theme Name: Mirror & Glass
Theme URI: https://mirrorandglass.co
Author: Mirror & Glass Co. (ESKU Ltd)
Description: Block theme for Mirror & Glass Co. (0.3.0: menus and page types follow Jay's sitemap; 0.4.0: Supply & fit + postcode checker, From prices, enquiry page, service promise, schema, ordering FAQs; 0.4.1/0.4.2: QA fixes; 0.5.0: launch content, illustrative imagery, hero film option, connected forms, no placeholder marks). Built from Jay Mihcioglu's own prototypes, sitemaps, brand logo and pricing workbook. Mobile-first, system fonts, no external requests.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.5.2
License: Proprietary - all rights reserved, ESKU Ltd
Text Domain: mirror-glass
Tags: block-theme, full-site-editing, e-commerce
*/

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; }
:where(a):focus-visible, :where(button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 2px;
}
.screen-reader-text:not(:focus) { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 6rem; }

/* ---------- Brand ---------- */
.mg-logo { display: inline-flex; color: var(--wp--preset--color--contrast); line-height: 0; text-decoration: none; }
.mg-logo svg { width: clamp(150px, 38vw, 230px); height: auto; }
.mg-footer .mg-logo { color: var(--wp--preset--color--base); }
.mg-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--wp--preset--color--line); }
.admin-bar .mg-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mg-header { top: 0; position: relative; } }

/* ---------- Typographic helpers ---------- */
.mg-kicker { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--subtle); margin-bottom: .75rem; }
.mg-lede { font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--muted); max-width: 40rem; text-wrap: pretty; }
.mg-small { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.mg-rule { border-top: 1px solid var(--wp--preset--color--line); padding-top: var(--wp--preset--spacing--40); }

/* ---------- Cards / tiles ---------- */
.mg-card { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); padding: var(--wp--preset--spacing--40); height: 100%; box-sizing: border-box; }
.mg-card > :first-child { margin-top: 0; }
.mg-card h3 { margin-bottom: .4rem; }
.mg-card p { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.mg-card a.mg-card__link, .mg-card .mg-card__link a { font-weight: 500; }
.mg-card--dark { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--contrast); }
.mg-card--dark p { color: #d9d5cd; }
.mg-card--dark a { color: var(--wp--preset--color--base); }
.mg-step-num { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; color: var(--wp--preset--color--subtle); }
.mg-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.mg-chips li { border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--surface); padding: .45rem .8rem; font-size: var(--wp--preset--font-size--small); }
.mg-chips a { text-decoration: none; }
.mg-code { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .06em; color: var(--wp--preset--color--subtle); margin: 0; }

/* Image placeholders (no photography supplied yet) */
.mg-ph { background: repeating-linear-gradient(135deg, #dcd8d0 0 12px, #d6d2ca 12px 24px); color: var(--wp--preset--color--muted); display: flex; align-items: center; justify-content: center; text-align: center; min-height: 14rem; padding: 1.5rem; box-sizing: border-box; font-size: var(--wp--preset--font-size--small); }
.mg-ph--tall { min-height: clamp(16rem, 48vw, 30rem); }
.mg-ph--thumb { min-height: 9rem; aspect-ratio: 4/3; }
.mg-ph p { max-width: 28rem; margin: 0; }

/* Placeholder copy marker: anything still to confirm */
mark.mg-todo, .mg-todo { background: var(--wp--preset--color--amber); color: var(--wp--preset--color--contrast); padding: 0 .2em; }
.mg-note { background: var(--wp--preset--color--amber); padding: 1rem 1.25rem; font-size: var(--wp--preset--font-size--small); }

/* Details / FAQ */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); padding: 1rem 0; }
.wp-block-details summary { cursor: pointer; font-weight: 500; font-size: var(--wp--preset--font-size--medium); list-style-position: outside; }
.wp-block-details[open] summary { margin-bottom: .75rem; }

/* Jump menu (help page) */
.mg-jump { position: sticky; top: 6rem; }
.mg-jump ul { list-style: none; padding: 0; margin: 0; }
.mg-jump li { border-bottom: 1px solid var(--wp--preset--color--line); }
.mg-jump a { display: block; padding: .6rem 0; text-decoration: none; font-size: var(--wp--preset--font-size--small); }

/* ---------- Simple forms (not connected) ---------- */
.mg-form { display: grid; gap: 1.1rem; }
.mg-form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 1rem; }
.mg-form legend { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--subtle); margin-bottom: .5rem; padding: 0; }
.mg-form label { display: block; font-size: var(--wp--preset--font-size--small); margin-bottom: .35rem; font-weight: 500; }
.mg-form .mg-hint { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); margin: .35rem 0 0; }
.mg-form input:not([type=checkbox]):not([type=radio]), .mg-form select, .mg-form textarea,
.mg-cfg input[type=text], .mg-cfg input[type=number], .mg-cfg input[type=search], .mg-cfg select, .mg-cfg textarea {
	width: 100%; box-sizing: border-box; border: 1px solid #b9b4ab; background: #fff; padding: .85rem 1rem; font: inherit; font-size: 1rem; color: var(--wp--preset--color--contrast); border-radius: 0; min-height: 48px;
}
.mg-form textarea, .mg-cfg textarea { min-height: 7rem; }
.mg-form .mg-row { display: grid; gap: 1rem; }
@media (min-width: 640px) { .mg-form .mg-row { grid-template-columns: 1fr 1fr; } }
.mg-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .8rem 1.5rem; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--contrast); font: inherit; font-size: var(--wp--preset--font-size--x-small); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; text-decoration: none; }
.mg-btn[disabled], .mg-btn[aria-disabled=true] { background: #c9c4ba; border-color: #c9c4ba; color: #3f3c35; cursor: not-allowed; }
.mg-form-status { padding: 1rem 1.25rem; background: var(--wp--preset--color--surface); border-left: 3px solid var(--wp--preset--color--contrast); }
.mg-form-status[hidden] { display: none; }

/* Stacked → columns helper */
@media (max-width: 781px) { .mg-stack-sm > .wp-block-column { flex-basis: 100% !important; } }
.mg-footer-list { list-style: none; padding-left: 0 !important; }
.mg-footer-list li { margin-bottom: .4rem; }
.mg-footer a { text-decoration: none; }
.mg-footer a:hover { text-decoration: underline; }
.mg-h-sm { font-size: var(--wp--preset--font-size--large) !important; margin-top: 0; }
.mg-facts .mg-kicker { margin: 1rem 0 .15rem; }
.mg-facts .mg-kicker + p { margin-top: 0; }
.mg-facts { padding-top: var(--wp--preset--spacing--40); }
.mg-hero h1 { margin-top: .25rem; }
.mg-faqs { max-width: 760px; }
.mg-card .wp-block-buttons { margin-top: 1.25rem; }
.wp-block-group.is-layout-grid > .mg-card { height: 100%; }
.mg-card--dark { height: auto !important; }
/* Ledes and small copy align left inside wide constrained sections */
.is-layout-constrained > .mg-lede, .is-layout-constrained > .mg-small, .is-layout-constrained > .mg-note, .is-layout-constrained > .wp-block-buttons {
	margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; }
.is-layout-constrained > .mg-note { max-width: 46rem; }
.wp-block-button .wp-block-button__link, .wp-block-button.is-style-outline > .wp-block-button__link { padding: .85rem 1.4rem; line-height: 1.3; }
.wp-block-column > .mg-card { height: auto; }
.wp-block-column > .mg-card + .mg-card { margin-top: 1rem; }

/* ---------- 0.4.0: service promise, enquiry form ---------- */
.mg-promise { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; margin-top: 1.5rem; }
.mg-promise__title { font-size: var(--wp--preset--font-size--x-small) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--subtle); margin: 0 0 .75rem; font-weight: 500; }
.mg-promise__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.mg-promise__item { font-size: var(--wp--preset--font-size--small); padding-left: 1.4rem; position: relative; }
.mg-promise__item::before { content: ""; position: absolute; left: 0; top: .45em; width: .7rem; height: .4rem; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }
.mg-promise__head { font-weight: 600; }
.mg-promise--home { border-top: 0; margin-top: 0; padding-top: 0; }
.mg-promise--home .mg-promise__title { font-size: var(--wp--preset--font-size--large) !important; letter-spacing: 0; text-transform: none; color: inherit; font-weight: 400; margin-bottom: 1.25rem; }
@media (min-width: 782px) {
	.mg-promise--home .mg-promise__list { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
	.mg-promise--home .mg-promise__item { padding: 1.25rem 0 0; border-top: 1px solid var(--wp--preset--color--line); }
	.mg-promise--home .mg-promise__item::before { top: -.55rem; left: 0; background: var(--wp--preset--color--base); }
	.mg-promise--home .mg-promise__head { display: block; margin-bottom: .25rem; }
}
.mg-enquiry__service { display: flex !important; flex-wrap: wrap; gap: .5rem !important; }
.mg-enquiry__service legend { width: 100%; }
.mg-enquiry .mg-chip { display: inline-flex; align-items: center; gap: .4rem; margin: 0; background: #fff; border: 1px solid #b9b4ab; padding: .55rem .9rem; min-height: 44px; box-sizing: border-box; cursor: pointer; font-weight: 400; }
.mg-enquiry .mg-chip:has(input:checked) { border-color: var(--wp--preset--color--contrast); box-shadow: inset 0 0 0 1px var(--wp--preset--color--contrast); }
.mg-enquiry .mg-req { font-weight: 400; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.mg-enquiry__error, .mg-enquiry__fileerr:not(:empty) { padding: .75rem 1rem; border-left: 3px solid #b32d2e; background: #fcf0f1; font-size: var(--wp--preset--font-size--small); }
.mg-enquiry__fileerr:empty { display: none; }
.mg-enquiry__done { padding: 1.25rem 1.5rem; background: var(--wp--preset--color--surface); border-left: 3px solid var(--wp--preset--color--contrast); }
.mg-enquiry__done:focus { outline: none; }
.mg-enquiry input[type=file] { padding: .6rem; border: 1px dashed #b9b4ab; background: #fff; width: 100%; box-sizing: border-box; }

/* ---------- 0.5.0: images, hero film, product cards, callouts ---------- */
.mg-media { margin: 0; position: relative; overflow: hidden; background: #e4e0d8; display: block; }
.mg-media__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mg-media--tall { aspect-ratio: 4/5; max-height: 38rem; }
.mg-media--thumb { aspect-ratio: 4/3; margin-bottom: .9rem; }
.mg-media--wide { aspect-ratio: 16/9; }
.mg-media--photo { aspect-ratio: 3/2; }
.mg-media--empty { background: linear-gradient(135deg, #e7e3dc, #d9d4cb); min-height: 9rem; }
.mg-media--tall.mg-media--empty { min-height: clamp(16rem, 48vw, 30rem); }
.mg-card > .mg-media--thumb { margin: calc(-1 * var(--wp--preset--spacing--40)) calc(-1 * var(--wp--preset--spacing--40)) 1rem; width: auto; }
.mg-pcard-lite h3 { font-size: var(--wp--preset--font-size--medium); }
.mg-callout { background: var(--wp--preset--color--surface); border-left: 3px solid var(--wp--preset--color--line); padding: 1rem 1.25rem; font-size: var(--wp--preset--font-size--small); }
.is-layout-constrained > .mg-callout { margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; max-width: 46rem; }
.mg-illustrative { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--subtle); }
.mg-bands { border-collapse: collapse; width: 100%; max-width: 46rem; font-size: var(--wp--preset--font-size--small); }
.mg-bands th, .mg-bands td { text-align: left; padding: .6rem .75rem; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: top; }
.mg-bands td:last-child, .mg-bands th:last-child { text-align: right; white-space: nowrap; }
.mg-form-alt { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }

/* ---------- 0.5.0 Full-bleed home hero (film or still) ---------- */
.mg-vhero { --mg-head: 5.75rem; position: relative; isolation: isolate; display: flex; align-items: flex-end; max-width: none !important; min-height: max(560px, 100vh); min-height: max(560px, 100svh); margin-top: 0 !important; margin-bottom: 0 !important; overflow: hidden; background: #1c1a17; color: #fff; box-sizing: border-box; }
.mg-vhero__media, .mg-vhero__scrim { position: absolute; inset: 0; }
.mg-vhero__media { z-index: -2; }
.mg-vhero__media picture { display: contents; }
.mg-vhero__poster, .mg-vhero__video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 55%; }
.mg-vhero__video { opacity: 0; transition: opacity .9s ease; pointer-events: none; }
.mg-vhero.is-playing .mg-vhero__video { opacity: 1; }
/* Dark overlay across the whole frame (about 50% black), heavier towards the bottom where the copy sits. */
.mg-vhero__scrim { z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.44) 30%, rgba(0,0,0,.5) 58%, rgba(0,0,0,.7) 100%); }
.mg-vhero__inner { width: 100%; max-width: none; margin: 0; padding: calc(var(--mg-head) + 2rem) var(--wp--style--root--padding-right, 1.25rem) clamp(2rem, 7vh, 5rem) var(--wp--style--root--padding-left, 1.25rem); display: grid; gap: 2rem; align-items: end; box-sizing: border-box; }
/* Desktop (0.5.1): one-line headline across the bottom-left, intro + buttons below it, ruled list bottom-right
   beside the intro/buttons (never beside the headline), all on the same left edge as the header logo. */
@media (min-width: 1024px) {
	.mg-vhero .mg-vhero__inner { grid-template-columns: minmax(0, 1fr) minmax(15rem, 19rem); grid-template-areas: "title title" "lede nav" "actions nav"; column-gap: clamp(2rem, 5vw, 6rem); row-gap: 0; align-items: end; }
	.mg-vhero .mg-vhero__main { display: contents; }
	.mg-vhero .mg-vhero__title { grid-area: title; white-space: nowrap; max-width: none; font-size: clamp(3.5rem, 6.2vw, 7.5rem); }
	.mg-vhero .mg-vhero__lede { grid-area: lede; }
	.mg-vhero .mg-vhero__actions { grid-area: actions; }
	.mg-vhero .mg-vhero__nav { grid-area: nav; align-self: end; }
}
.mg-vhero__title { margin: 0; color: #fff; font-weight: 700; font-size: clamp(3.5rem, 2rem + 6.2vw, 7.5rem); line-height: .95; letter-spacing: -.035em; max-width: 9.5ch; text-wrap: balance; }
.mg-vhero__lede { margin: 1.25rem 0 0; max-width: 34rem; color: rgba(255,255,255,.92); font-size: clamp(1rem, .95rem + .3vw, 1.2rem); line-height: 1.5; }
.mg-vhero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
/* Both buttons: white outline. Transparent fill, 1px white border, white uppercase text; hover fills white. */
.mg-vhero__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.5rem; border: 1px solid #fff; border-radius: 0; background: transparent; color: #fff; font-size: var(--wp--preset--font-size--x-small, .8rem); font-weight: 500; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; line-height: 1.2; box-sizing: border-box; transition: background-color .2s ease, color .2s ease; }
.mg-vhero__btn:hover, .mg-vhero__btn:focus-visible { background: #fff; color: var(--wp--preset--color--contrast, #1c1a17); }
.mg-vhero__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.mg-vhero__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.55); }
.mg-vhero__list li { border-bottom: 1px solid rgba(255,255,255,.55); }
.mg-vhero__list a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 0; min-height: 44px; box-sizing: border-box; color: #fff; text-decoration: none; font-size: var(--wp--preset--font-size--small, .95rem); }
.mg-vhero__arrow { transition: transform .2s ease; }
.mg-vhero__list a:hover .mg-vhero__arrow, .mg-vhero__list a:focus-visible .mg-vhero__arrow { transform: translateX(4px); }
.mg-vhero__list a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.mg-vhero__toggle { position: absolute; right: max(1rem, env(safe-area-inset-right)); top: calc(var(--mg-head) + 1rem); width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(0,0,0,.25); color: #fff; cursor: pointer; display: grid; place-items: center; }
.mg-vhero__toggle[hidden] { display: none; }
.mg-vhero__icon { width: 10px; height: 12px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; box-sizing: border-box; }
.mg-vhero__toggle.is-paused .mg-vhero__icon { width: 0; height: 0; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent currentColor; margin-left: 2px; }
.mg-vhero__toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 781px) {
	.mg-vhero { --mg-head: 5rem; min-height: max(560px, 92vh); min-height: max(560px, 92svh); }
	.mg-vhero__poster, .mg-vhero__video { object-position: 58% 45%; }
	/* Still only (no film yet): the photo sits in the top three-quarters so the MGco sheet stays clear of the copy. */
	.mg-vhero--still .mg-vhero__media { bottom: 24%; }
	.mg-vhero--still .mg-vhero__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 30%; background: linear-gradient(180deg, rgba(28,26,23,0), #1c1a17); }
	.mg-vhero__nav { display: none; }
	.mg-vhero__inner { gap: 1.5rem; padding-bottom: 1.75rem; }
	.mg-vhero__actions { flex-direction: column; align-items: stretch; }
	.mg-vhero__list a { padding: .6rem 0; }
}
@media (prefers-reduced-motion: reduce) { .mg-vhero__video, .mg-vhero__toggle { display: none !important; } .mg-vhero__btn, .mg-vhero__arrow { transition: none; } }

/* Transparent header over the home hero; solid white again once scrolled or a menu is open. */
.mg-has-vhero .wp-site-blocks > .wp-block-template-part:first-child { display: block !important; position: fixed; top: 0; left: 0; right: 0; z-index: 60; transition: background-color .25s ease, box-shadow .25s ease; }
.admin-bar.mg-has-vhero .wp-site-blocks > .wp-block-template-part:first-child { top: 32px; }
@media (max-width: 782px) { .admin-bar.mg-has-vhero .wp-site-blocks > .wp-block-template-part:first-child { top: 46px; } }
.mg-has-vhero .wp-site-blocks > .wp-block-template-part:first-child + main { margin-top: 0 !important; }
.mg-has-vhero main > .wp-block-post-content > :first-child { margin-top: 0 !important; }
.mg-has-vhero .mg-header { position: relative; top: auto !important; }
.mg-has-vhero .wp-block-template-part:first-child:not(.is-solid):not(:has(.is-open, [aria-expanded=true])) :is(.mg-topbar, .mg-header) { background: transparent !important; border-color: transparent; color: #fff; }
.mg-has-vhero .wp-block-template-part:first-child:not(.is-solid):not(:has(.is-open, [aria-expanded=true])) .mg-topbar { border-bottom: 1px solid rgba(255,255,255,.2); }
.mg-has-vhero .wp-block-template-part:first-child:not(.is-solid):not(:has(.is-open, [aria-expanded=true])) :is(.mg-logo, .mg-nav__link, .mg-nav__toggle, .mg-burger, .wc-block-mini-cart__button, .wc-block-mini-cart__icon, .mg-inline-nav a) { color: #fff !important; }
.mg-has-vhero .wp-block-template-part:first-child:not(.is-solid):not(:has(.is-open, [aria-expanded=true])) .mg-nav__link:hover,
.mg-has-vhero .wp-block-template-part:first-child:not(.is-solid):not(:has(.is-open, [aria-expanded=true])) .mg-nav__toggle:hover,
.mg-has-vhero .wp-block-template-part:first-child:not(.is-solid):not(:has(.is-open, [aria-expanded=true])) .mg-nav__link[aria-current] { border-bottom-color: #fff; }
.mg-has-vhero .wp-block-template-part:first-child:not(.is-solid):not(:has(.is-open, [aria-expanded=true])) .wc-block-mini-cart__badge { background: #fff !important; color: #1c1a17 !important; }
.mg-has-vhero .wp-block-template-part:first-child.is-solid { box-shadow: 0 1px 0 var(--wp--preset--color--line, #e6e2da); }
.mg-has-vhero .mg-aiva__launcher { box-shadow: 0 0 0 1px rgba(255,255,255,.65); }

/* 0.5.1: one shared desktop edge for the top bar, header and home hero, so the logo, the hero copy and
   the top-bar links / cart all line up. (The header's padding used to come from core's has-background rule.) */
:root { --mg-edge: clamp(1rem, 3.6vw, 2.375rem); }
@media (min-width: 1024px) {
	.mg-header { padding-left: var(--mg-edge) !important; padding-right: var(--mg-edge) !important; }
	.mg-topbar .mg-topbar__inner { max-width: none; padding-left: var(--mg-edge); padding-right: calc(var(--mg-edge) + var(--mg-cart-inset, 0px)); }
	.mg-vhero .mg-vhero__inner { padding-left: var(--mg-edge); padding-right: var(--mg-edge); padding-bottom: max(7vh, 5.5rem); } /* clears the fixed Aiva button */
}
/* From 1100px the cart is the last header item: its icon sits .4rem inside the button, so the last top-bar link
   steps in by the same amount to line up with the icon's right edge. */
@media (min-width: 1100px) { :root { --mg-cart-inset: .4rem; } }
