/*
Theme Name: My Reason Why
Theme URI: https://myreasonwhybook.com
Description: Brand layer for My Reason Why: colours, typography, header, footer and the book and workbook product pages. A child of Twenty Twenty-Five. Presentation only: no commerce logic.
Author: My Reason Why
Template: twentytwentyfive
Version: 0.6.1
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mrw-brand
*/

/* The road line: a hairline with a small ring, taken from the ornament on the workbook title page. Used twice, under the header and above the footer. */
.mrw-rule { position: relative; height: 11px; margin: 0; }
.mrw-rule::before { content: ""; position: absolute; inset: 5px 0 auto 0; height: 1px; background: var(--wp--preset--color--sage); }
.mrw-rule::after { content: ""; position: absolute; top: 0; left: 0; width: 9px; height: 9px; box-sizing: border-box; border: 1px solid var(--wp--preset--color--sage-ink); border-radius: 50%; background: var(--wp--preset--color--cream); }

/* Header */
.mrw-header { padding-block: 14px; }
.mrw-header .wp-block-site-title a { text-decoration: none; }
.mrw-header .wp-block-navigation a { text-decoration: none; }
.mrw-header .wp-block-navigation .wp-block-navigation-item__content { padding-block: 10px; }
.mrw-header .wp-block-navigation a:hover,
.mrw-header .wp-block-navigation a:focus-visible { text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 1px; }

/* Footer */
.mrw-footer a { text-decoration: none; }
.mrw-footer a:hover, .mrw-footer a:focus-visible { text-decoration: underline; text-underline-offset: .25em; }
.mrw-eyebrow { font-family: var(--wp--preset--font-family--poppins); font-size: .6875rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--sage-ink); margin: 0; }

/* Focus: always visible, never colour alone */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--wp--preset--color--forest); outline-offset: 2px; }
.has-forest-background-color :focus-visible, .mrw-on-dark :focus-visible { outline-color: var(--wp--preset--color--butter); }

/* Buttons: one weight, one height */
.wp-element-button, .wp-block-button__link, .wc-block-components-button:not(.is-link), .woocommerce a.button, .woocommerce button.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: background-color .15s ease; }
.wp-element-button:hover, .wp-block-button__link:hover, .wc-block-components-button:not(.is-link):hover { background-color: var(--wp--preset--color--shirt-green); color: var(--wp--preset--color--cream); }
.is-style-outline > .wp-block-button__link { border: 2px solid var(--wp--preset--color--forest); background: transparent; color: var(--wp--preset--color--forest); }
.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }

/* WooCommerce: restyle only (colour, type, spacing). No layout, price or checkout logic is touched. */
.wc-block-components-product-price, .woocommerce .price, .wc-block-formatted-money-amount { font-variant-numeric: tabular-nums; }
.wc-block-components-text-input input, .wc-block-components-select-input select, .woocommerce input.input-text, .woocommerce select, .woocommerce textarea { border-color: var(--wp--preset--color--sage-ink); border-radius: 4px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--charcoal); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"], .wc-block-components-radio-control__input { border-color: var(--wp--preset--color--sage-ink); }
.wc-block-components-totals-wrapper, .wc-block-cart__sidebar, .wc-block-checkout__sidebar { border-color: var(--wp--preset--color--sage); }
/* Notices: quiet, on-brand colours (the WooCommerce default is bright green and red) */
.wc-block-components-notice-banner { border-radius: 6px; }
.wc-block-components-notice-banner.is-success { background-color: var(--wp--preset--color--mist); border-color: var(--wp--preset--color--sage-ink); color: var(--wp--preset--color--charcoal); }
.wc-block-components-notice-banner.is-success > svg { background-color: var(--wp--preset--color--shirt-green); }
.wc-block-components-notice-banner.is-success a, .wc-block-components-notice-banner.is-success .wc-block-components-button { color: var(--wp--preset--color--forest); }
/* Checkout step titles: small text reads better in the sans face */
.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-components-checkout-order-summary__title-text { font-family: var(--wp--preset--font-family--source-sans); font-weight: 600; letter-spacing: 0; }

@media (max-width: 600px) {
	.wp-block-buttons > .wp-block-button { width: 100%; }
	.wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; min-height: 48px; }
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.25rem 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.75rem; font-weight: 600; }

@media (max-width: 781px) {
	.mrw-header .wp-block-site-title { font-size: 1.125rem; }
	.mrw-footer .wp-block-columns { gap: 28px; }
}

/* ---------- Product pages (0.3.0). Presentation only; the add-to-cart form, price and gallery are WooCommerce's own blocks. ---------- */
.mrw-pp { margin-block-start: 0; }
.mrw-pp > * { margin-block-start: 0; }
.mrw-pp .mrw-wrap, .mrw-pp .mrw-band > .alignwide, .mrw-pp .mrw-band > .mrw-faq, .mrw-home .mrw-band > .alignwide, .mrw-home .mrw-band > .mrw-faq { max-width: 1180px; margin-inline: auto; padding-inline: 24px; }
.mrw-pp .mrw-faq, .mrw-home .mrw-faq { max-width: 820px; }
.mrw-pp .mrw-band, .mrw-home .mrw-band { padding-block: clamp(2.75rem, 6vw, 4.5rem); margin-block: 0; }
.mrw-home, .mrw-home > * { margin-block: 0; }
.mrw-band--mist { background: var(--wp--preset--color--mist); }
.mrw-band--dark { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.mrw-band--dark :where(h1, h2, h3, cite, a) { color: var(--wp--preset--color--cream); }
.mrw-pp .mrw-eyebrow, .mrw-home .mrw-eyebrow { margin-bottom: .75rem; }

.mrw-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 3.5rem; align-items: start; padding-block: 1.5rem 3.5rem; }
.mrw-hero > * { margin-block: 0; }
.mrw-gallery { background: var(--wp--preset--color--mist); border-radius: 6px; padding: 2rem; }
.mrw-gallery img { display: block; width: 100%; height: auto; box-shadow: 0 18px 40px rgba(23, 38, 34, .25); }
.mrw-gallery .woocommerce-product-gallery { margin: 0; }
.mrw-gallery .flex-control-thumbs { display: flex; gap: .75rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.mrw-gallery .flex-control-thumbs li { width: 72px; }
.mrw-gallery .flex-control-thumbs img { box-shadow: none; }
.mrw-summary .wp-block-post-title { margin: 0; }
.mrw-sub { font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-weight: 500; font-size: 1.5rem; line-height: 1.3; color: var(--wp--preset--color--sage-ink); margin: .75rem 0 1rem; }
.mrw-summary .wp-block-woocommerce-product-price { margin: .5rem 0 1rem; }
.mrw-pts { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.mrw-pts li { position: relative; padding: .35rem 0 .35rem 1.6rem; }
.mrw-pts li::before { content: "\2713"; position: absolute; left: 0; color: var(--wp--preset--color--shirt-green); font-weight: 700; }
.mrw-buy { margin-bottom: 1rem; scroll-margin-top: 1.5rem; }
.mrw-buy .quantity .qty, .mrw-buy input.qty { min-height: 48px; width: 4.5rem; text-align: center; border: 1px solid var(--wp--preset--color--sage-ink); border-radius: 4px; background: var(--wp--preset--color--white); }
.mrw-buy form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.mrw-buy .single_add_to_cart_button { min-height: 48px; flex: 1 1 14rem; max-width: 340px; }
.mrw-facts { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; list-style: none; padding: 0; margin: 1rem 0 1.25rem; font-size: .9375rem; color: var(--wp--preset--color--sage-ink); }
.mrw-facts li::before { content: ""; display: inline-block; width: 6px; height: 6px; border: 1px solid var(--wp--preset--color--sage-ink); border-radius: 50%; margin-right: .5rem; vertical-align: middle; }
.mrw-note { font-size: .9375rem; color: var(--wp--preset--color--sage-ink); }

.mrw-two { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; }
.mrw-two > *, .mrw-cards > *, .mrw-themes > *, .mrw-author > * { margin-block: 0; }
.mrw-mockup { text-align: center; }
.mrw-mockup img { max-width: 100%; max-height: 520px; width: auto; height: auto; }
.mrw-pull { max-width: 820px; margin: 0 auto; border: 0; padding: 0; text-align: center; font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.25; color: var(--wp--preset--color--butter); }
.mrw-pull p { color: inherit; font-size: inherit; }
.mrw-pull cite { display: block; margin-top: 1.25rem; font: 500 .6875rem/1.4 var(--wp--preset--font-family--poppins); letter-spacing: .18em; text-transform: uppercase; font-style: normal; color: var(--wp--preset--color--sage); }
.mrw-memorial { margin-top: 1.75rem; font: 500 .75rem/1.4 var(--wp--preset--font-family--poppins); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--sage); }
.mrw-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; }
.mrw-card { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--sage); border-radius: 6px; padding: 1.75rem; }
.mrw-card > * { margin-block-start: 0; }
.mrw-card h3 { margin: 0 0 .5rem; }
.mrw-themes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2rem; }
.mrw-themes h3 { font-size: 1.25rem; margin: 0 0 .4rem; }
.mrw-themes p { font-size: 1rem; margin: 0; }
.mrw-author { display: grid; grid-template-columns: 1fr; gap: 2rem; max-width: 820px; }
.mrw-author:has(.mrw-author__photo) { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: center; max-width: none; }
.mrw-author__photo img { width: 100%; height: auto; border-radius: 6px; }
.mrw-comp { display: grid; grid-template-columns: 200px 1fr; gap: 2rem; align-items: center; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--sage); border-radius: 6px; padding: 2rem; }
.mrw-comp__img img { display: block; width: 100%; height: auto; border-radius: 3px; box-shadow: 0 10px 24px rgba(23, 38, 34, .2); }
.mrw-comp__price { font: 700 1.5rem var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--forest); margin-right: .75rem; }
.mrw-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .625rem 1.5rem; border: 2px solid var(--wp--preset--color--forest); border-radius: 6px; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); font-weight: 600; font-size: .9375rem; text-decoration: none; }
.mrw-btn:hover { background: var(--wp--preset--color--shirt-green); color: var(--wp--preset--color--cream); }
.mrw-btn--outline { background: transparent; color: var(--wp--preset--color--forest); }
.mrw-btn--outline:hover { background: var(--wp--preset--color--forest); }
ol.mrw-sections { list-style: none; counter-reset: sec; margin: 1.5rem 0 0; padding: 0; border-top: 1px solid var(--wp--preset--color--sage); }
ol.mrw-sections > li { counter-increment: sec; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .15rem 1.5rem; padding: 1rem 0 1rem 3.25rem; border-bottom: 1px solid var(--wp--preset--color--sage); }
ol.mrw-sections > li::before { content: counter(sec); position: absolute; left: 0; top: .85rem; font: 700 1.6rem/1 var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--forest); }
.mrw-sec-title { grid-column: 1; font: 600 1.0625rem/1.35 var(--wp--preset--font-family--source-sans); color: var(--wp--preset--color--forest); }
.mrw-sec-desc { grid-column: 1; font-size: 1rem; }
.mrw-sec-pages { grid-column: 2; grid-row: 1; font: 500 .6875rem/1.6 var(--wp--preset--font-family--poppins); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--sage-ink); white-space: nowrap; }
.mrw-samples { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 2rem; }
.mrw-samples > * { margin: 0; }
.mrw-samples img { width: 100%; height: auto; border: 1px solid var(--wp--preset--color--sage); box-shadow: 0 8px 20px rgba(23, 38, 34, .12); background: #fff; }
.mrw-samples figcaption { font-size: .875rem; color: var(--wp--preset--color--sage-ink); margin-top: .5rem; }
.mrw-faq .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--sage); padding: 1rem 0; margin: 0; }
.mrw-faq summary { font-weight: 600; font-size: 1.125rem; cursor: pointer; color: var(--wp--preset--color--forest); }
.mrw-faq .wp-block-details p { margin: .75rem 0 0; }

.mrw-sticky { display: none; }
@media (max-width: 1000px) {
	.mrw-bundle__item .mrw-bundle__name { min-height: 2.4em; }
}
@media (max-width: 781px) {
	html { scroll-padding-bottom: 5rem; }
	.mrw-pp :is(a, button, input, select, textarea, summary, [tabindex]) { scroll-margin-bottom: 5rem; }
	.mrw-pp .mrw-wrap, .mrw-pp .mrw-band > .alignwide, .mrw-pp .mrw-band > .mrw-faq { padding-inline: 16px; }
	.mrw-hero { grid-template-columns: 1fr; gap: 1.5rem; padding-bottom: 2.5rem; }
	.mrw-gallery { padding: 1.5rem; }
	.mrw-two, .mrw-cards, .mrw-themes, .mrw-comp, .mrw-author:has(.mrw-author__photo) { grid-template-columns: 1fr; gap: 1.5rem; }
	.mrw-samples { grid-template-columns: 1fr 1fr; }
	.mrw-comp__img img { max-width: 160px; }
	.mrw-buy .single_add_to_cart_button { max-width: none; width: 100%; }
	ol.mrw-sections > li { grid-template-columns: 1fr; padding-left: 2.5rem; }
	.mrw-sec-pages { grid-column: 1; grid-row: auto; }
	.mrw-sticky { position: sticky; bottom: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 16px; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); transition: transform .2s ease; }
	.mrw-sticky.is-hidden { transform: translateY(100%); visibility: hidden; }
	.mrw-sticky .mrw-btn { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--cream); min-height: 44px; }
	.mrw-sticky b { font: 700 1.25rem var(--wp--preset--font-family--cormorant); }
}
@media (prefers-reduced-motion: reduce) { .mrw-sticky { transition: none; } }

/* ---------- Homepage (0.4.0). Presentation only. Covers and prices are read from the WooCommerce products. ---------- */
.mrw-home .mrw-hero-home { padding-block: clamp(3rem, 7vw, 6rem); }
.mrw-two--hero { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 3rem; }
.mrw-hero-home h1 { color: var(--wp--preset--color--cream); font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1.02; }
.mrw-lede { font-size: 1.25rem; line-height: 1.5; color: var(--wp--preset--color--cream); max-width: 34rem; margin-top: 1rem; }
.mrw-band--mist .mrw-lede, .mrw-band:not(.mrw-band--dark) .mrw-lede { color: var(--wp--preset--color--charcoal); }
.mrw-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 1.75rem 0 .75rem; }
.mrw-btn--light { background: var(--wp--preset--color--butter); border-color: var(--wp--preset--color--butter); color: var(--wp--preset--color--forest); }
.mrw-btn--light:hover { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--forest); }
.mrw-btn.is-disabled { opacity: .6; cursor: not-allowed; background: transparent; border-style: dashed; color: var(--wp--preset--color--cream); }
.mrw-link-light { color: var(--wp--preset--color--butter); font-weight: 600; }
.mrw-fine { font-size: .9375rem; color: var(--wp--preset--color--sage-ink); margin: .25rem 0 0; }
.mrw-on-dark .mrw-fine { color: var(--wp--preset--color--sage); }
/* Hero covers at true relative size: 6 x 9 in. book in front, 8.5 x 11 in. workbook behind and larger. Widths are in proportion to inches
   (book 6, workbook 8.5, overlap 0.6 = 13.9 units), and images keep their own aspect ratios, so heights follow the real proportions. */
.mrw-covers { display: flex; justify-content: center; align-items: flex-end; width: 100%; max-width: 560px; margin-inline: auto; padding-block: 1rem; }
.mrw-covers img { display: block; width: 100%; height: auto; box-shadow: 0 22px 44px rgba(0, 0, 0, .4); border-radius: 2px; }
.mrw-covers__book { width: 43.2%; position: relative; z-index: 2; flex: none; }
.mrw-covers__book img { box-shadow: 0 26px 52px rgba(0, 0, 0, .6); }
.mrw-covers__work { width: 61.2%; position: relative; z-index: 1; flex: none; margin-left: -4.3%; }
.mrw-story p:not(.mrw-eyebrow):not(.mrw-sign) { font-size: 1.1875rem; line-height: 1.65; }
.mrw-sign { font: 600 1.75rem var(--wp--preset--font-family--cormorant); font-style: italic; color: var(--wp--preset--color--forest); margin-top: 1.25rem; }
.mrw-feature { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 3.5rem; align-items: center; }
.mrw-feature--flip { grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); }
.mrw-feature--flip .mrw-feature__img { order: 2; }
.mrw-feature > * { margin-block: 0; }
.mrw-feature__img { background: var(--wp--preset--color--mist); border-radius: 6px; padding: 2rem; }
.mrw-band--mist .mrw-feature__img { background: var(--wp--preset--color--cream); }
.mrw-feature__img img { display: block; width: 100%; max-width: 380px; margin-inline: auto; height: auto; box-shadow: 0 18px 40px rgba(23, 38, 34, .25); }
.mrw-price-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; margin: 1.25rem 0 0; }
/* "Read the Story. Then Work on Yours." A matched pair: one shared card structure, covers shown at the same display height in identical frames
   (this section normalises trim size on purpose; the hero keeps true relative size), and fixed-height name and price rows so both buttons sit on one line. */
.mrw-bundle { --fh: 312px; --ih: 288px; --pad: 1.5rem; }
.mrw-bundle h2 { color: var(--wp--preset--color--cream); }
.mrw-bundle__head { max-width: 46rem; margin-inline: auto; text-align: center; }
.mrw-bundle__head .mrw-lede { margin-inline: auto; }
.mrw-bundle__grid { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; margin: 2.5rem auto 0; max-width: 820px; }
.mrw-bundle__item { display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center; padding: var(--pad); border: 1px solid rgba(171, 180, 164, .3); border-radius: 8px; background: rgba(255, 255, 255, .035); }
.mrw-bundle__cover { width: 100%; height: var(--fh); display: flex; align-items: center; justify-content: center; margin: 0; }
.mrw-bundle__cover img { display: block; width: auto; height: var(--ih); max-width: 100%; object-fit: contain; box-shadow: 0 16px 34px rgba(0, 0, 0, .45); }
.mrw-bundle__item p { margin: 0; width: 100%; }
.mrw-bundle__name { font: 600 1.375rem/1.2 var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--cream); margin: 0; }
.mrw-bundle__price { font: 700 1.5rem var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--butter); margin: .25rem 0 .75rem; }
.mrw-bundle__item .mrw-bundle__name { font-size: 1.5rem; min-height: 1.2em; display: flex; align-items: center; justify-content: center; }
.mrw-bundle__item .mrw-bundle__price { font-size: 1.625rem; line-height: 2.25rem; height: 2.25rem; margin: 0; }
.mrw-bundle__item .mrw-btn { box-sizing: border-box; width: min(17.25rem, 100%); min-height: 72px; text-align: center; }
.mrw-bundle__plus { position: absolute; left: 50%; top: calc(var(--pad) + var(--fh) / 2); transform: translate(-50%, -50%); width: 2.75rem; height: 2.75rem; display: flex; align-items: center; justify-content: center; border: 1px solid var(--wp--preset--color--sage); border-radius: 50%; background: var(--wp--preset--color--forest); font: 600 1.75rem/1 var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--butter); z-index: 1; }
.mrw-bundle__math { max-width: 820px; margin: 2rem auto 0; padding-top: 1.25rem; border-top: 1px solid rgba(171, 180, 164, .3); text-align: center; font-size: 1.1875rem; color: var(--wp--preset--color--cream); }
.mrw-bundle__math--plain strong { color: var(--wp--preset--color--butter); }
.mrw-bundle__total { margin: 2rem auto 0; padding: 1.25rem 1.5rem; border: 1px dashed var(--wp--preset--color--sage); border-radius: 6px; max-width: 820px; text-align: center; }
.mrw-bundle__deal { font-size: 1.5rem; color: var(--wp--preset--color--cream); margin: .25rem 0 1rem; }
.mrw-bundle__deal strong { color: var(--wp--preset--color--butter); }
.mrw-flag { display: inline-block; background: var(--wp--preset--color--butter); color: var(--wp--preset--color--forest); font-weight: 700; padding: .4rem .8rem; border-radius: 4px; font-size: .9375rem; margin: 0 0 1rem; }
ol.mrw-stepslist { list-style: none; counter-reset: st; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 2rem 0 0; padding: 0; }
ol.mrw-stepslist > li { counter-increment: st; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--sage); border-radius: 6px; padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
ol.mrw-stepslist > li::before { content: counter(st); font: 700 1.1rem var(--wp--preset--font-family--cormorant); width: 2rem; height: 2rem; border-radius: 50%; border: 1px solid var(--wp--preset--color--sage-ink); display: flex; align-items: center; justify-content: center; color: var(--wp--preset--color--forest); }
.mrw-step-title { font: 600 1.75rem/1.1 var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--forest); }
.mrw-step-text { font-size: 1rem; }
.mrw-final__inner { text-align: center; max-width: 46rem; margin-inline: auto; }
.mrw-final h2 { color: var(--wp--preset--color--cream); font-size: clamp(2rem, 4.5vw, 3.2rem); }
.mrw-final .mrw-lede { margin-inline: auto; }
.mrw-final__choices { display: flex; flex-wrap: wrap; justify-content: center; gap: 2.5rem; margin-top: 2rem; }
.mrw-final__choice { min-width: 12rem; }
@media (max-width: 781px) {
	.mrw-two--hero, .mrw-feature, .mrw-feature--flip { grid-template-columns: 1fr; gap: 1.75rem; }
	.mrw-feature--flip .mrw-feature__img { order: 0; }
	.mrw-covers { padding-block: .5rem 1rem; }
	.mrw-feature__img { padding: 1.25rem; }
	.mrw-bundle { --fh: 216px; --ih: 192px; --pad: .625rem; }
	.mrw-bundle__grid { gap: .75rem; margin-top: 2rem; }
	.mrw-bundle__item { gap: .875rem; border-radius: 6px; }
	.mrw-bundle__name { font-size: 1.125rem; }
	.mrw-bundle__item .mrw-bundle__name { font-size: 1.1875rem; min-height: 2.4em; }
	.mrw-bundle__item .mrw-bundle__price { font-size: 1.4375rem; }
	.mrw-bundle__item .mrw-btn { padding-inline: .5rem; font-size: .875rem; white-space: nowrap; }
	.mrw-bundle__plus { width: 1.875rem; height: 1.875rem; font-size: 1.25rem; }
	ol.mrw-stepslist { grid-template-columns: 1fr; gap: .75rem; }
	ol.mrw-stepslist > li { display: grid; grid-template-columns: 2.25rem 1fr; column-gap: .75rem; padding: 1rem 1.1rem; }
	ol.mrw-stepslist > li::before { grid-row: 1 / span 2; }
	.mrw-final__choices { gap: 1.5rem; }
	.mrw-cta-row .mrw-btn { width: 100%; }
}

.mrw-band--dark .mrw-eyebrow { color: var(--wp--preset--color--sage); }

/* ===== 0.5.0 merchandise: recommendations, T-shirt feature, Complete Collection, shop categories, footer information links ===== */
.mrw-rec .screen-reader-text, .mrw-collection__field .screen-reader-text, .mrw-collection__form .screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mrw-recs__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.5rem; margin-top: 1.75rem; }
.mrw-rec { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--sage); border-radius: 6px; padding: 1.25rem; display: flex; flex-direction: column; gap: .5rem; }
.mrw-rec__img { display: block; background: var(--wp--preset--color--mist); border-radius: 4px; padding: 1rem; }
.mrw-rec__img img { display: block; width: 100%; max-width: 190px; height: auto; margin-inline: auto; }
.mrw-rec__name { margin: .5rem 0 0; font-size: 1.25rem; line-height: 1.2; }
.mrw-rec__name a { color: var(--wp--preset--color--forest); text-decoration: none; }
.mrw-rec__name a:hover, .mrw-rec__name a:focus-visible { text-decoration: underline; text-underline-offset: .25em; }
.mrw-rec__price { margin: 0; font: 700 1.25rem var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--forest); }
.mrw-rec__price del { color: var(--wp--preset--color--sage-ink); font-weight: 500; margin-right: .35rem; }
.mrw-rec__price ins { text-decoration: none; }
.mrw-rec .mrw-fine { margin: 0; }
.mrw-rec__cta { margin: auto 0 0; padding-top: .5rem; }
.mrw-rec__cta .mrw-btn { box-sizing: border-box; width: 100%; }
.mrw-rec--collection { border-color: var(--wp--preset--color--shirt-green); border-width: 2px; }
.mrw-merch .mrw-feature__img { background: var(--wp--preset--color--cream); }
.mrw-merch .mrw-feature__img img { box-shadow: none; max-width: 420px; }
.mrw-collection__math { margin: 1.25rem 0 .25rem; padding: 0; display: grid; gap: .25rem; max-width: 22rem; }
.mrw-collection__math > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-block: .25rem; border-bottom: 1px solid var(--wp--preset--color--sage); }
.mrw-collection__math dt { font-size: .9375rem; color: var(--wp--preset--color--sage-ink); }
.mrw-collection__math dd { margin: 0; font: 700 1.25rem var(--wp--preset--font-family--cormorant); color: var(--wp--preset--color--forest); }
.mrw-collection__math del { color: var(--wp--preset--color--sage-ink); font-weight: 500; }
.mrw-collection__price dd { font-size: 1.75rem; }
.mrw-collection__save dd { color: var(--wp--preset--color--shirt-green); }
.mrw-collection__items { list-style: none; margin: 1rem 0 1.25rem; padding: 0; display: grid; gap: .25rem; }
.mrw-collection__items li { display: flex; justify-content: space-between; gap: 1rem; max-width: 26rem; }
.mrw-collection__form { margin-top: 1.25rem; }
.mrw-collection__field { display: grid; gap: .375rem; margin: 0 0 1rem; max-width: 22rem; }
.mrw-collection__field label { font-weight: 600; }
.mrw-collection__field select { min-height: 48px; padding: .5rem .75rem; border: 1px solid var(--wp--preset--color--sage-ink); border-radius: 6px; background: var(--wp--preset--color--white); font: inherit; color: var(--wp--preset--color--forest); }
.mrw-req { color: var(--wp--preset--color--forest); }
.mrw-shop-cats { margin: 1.5rem 0; }
.mrw-shop-cats ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.mrw-shop-cats a { display: inline-flex; align-items: center; min-height: 44px; padding: .25rem 1rem; border: 1px solid var(--wp--preset--color--sage-ink); border-radius: 999px; color: var(--wp--preset--color--forest); text-decoration: none; }
.mrw-shop-cats a:hover, .mrw-shop-cats a:focus-visible { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.mrw-footer-links { list-style: none; margin: .75rem 0 0; padding: 0; font-size: var(--wp--preset--font-size--small); display: grid; gap: .5rem; }
.mrw-shirt-copy > * { margin-block: 0 1rem; }
.mrw-shop ul.products { margin-top: 1rem; }
@media (max-width: 781px) {
	.mrw-recs__grid { grid-template-columns: 1fr; }
	.mrw-rec { flex-direction: column; }
	.mrw-collection__items li { max-width: none; }
	.mrw-collection__form .mrw-btn { box-sizing: border-box; width: 100%; }
	.mrw-merch .mrw-feature__img img { max-width: 300px; }
}
/* A variable product's add-to-cart button before a choice is made: WooCommerce fades it with opacity, which fails contrast. Keep it opaque, clearly inactive and readable. */
.woocommerce .single_add_to_cart_button.button.disabled, .woocommerce .single_add_to_cart_button.button:disabled, .woocommerce .single_add_to_cart_button.button.wc-variation-selection-needed { opacity: 1; background: var(--wp--preset--color--sage-ink); border-color: var(--wp--preset--color--sage-ink); color: var(--wp--preset--color--white); cursor: not-allowed; }
.mrw-collection__form .mrw-btn:disabled { opacity: 1; background: var(--wp--preset--color--sage-ink); border-color: var(--wp--preset--color--sage-ink); color: var(--wp--preset--color--white); cursor: not-allowed; }
.mrw-collection__form .mrw-btn.is-sending { opacity: .75; cursor: progress; }

/* Final-sale notice (owner-approved sentence). Same measure and rhythm everywhere; never a banner. */
.mrw-final-sale { font-size: .9375rem; line-height: 1.5; margin: .75rem 0; color: var(--wp--preset--color--charcoal); }
.mrw-final-sale a { color: inherit; text-underline-offset: .15em; }
.mrw-final-sale--cart, .mrw-final-sale--checkout { margin: 1rem 0 .5rem; text-align: left; }
.mrw-bump-card__notice { font-size: .9375rem; margin: .5rem 0 0; color: var(--wp--preset--color--charcoal); }
/* Checkout: show exactly one notice next to Place Order. Wide screens: the copy above the actions row. Narrow screens (the order summary moves down beside Place Order): the copy inside the summary. */
.wc-block-checkout__sidebar .mrw-final-sale--summary { display: none; }
.wc-block-checkout.is-mobile .mrw-final-sale--checkout, .wc-block-checkout.is-small .mrw-final-sale--checkout { display: none; }
