/* Megan Rush — redesign 2026. Tokens first, then header, home, post, book page, archive, footer. */
:root {
	--m-head: 'Nunito Sans', Arial, sans-serif;
	--m-body: 'Atkinson Hyperlegible', Arial, sans-serif;
	--m-text: #27211D;
	--m-muted: #746B63;
	--m-accent: #B93A1E;
	--m-accent2: #1F766D;
	--m-bg: #FFF8F2;
	--m-surface: #FFFFFF;
	--m-border: #EADDD1;
	--m-band: #FBEFE4;
	--m-orange: #E4572E;
	--m-gut: 48px;
	/* Neve FSE heading variables, pointed at the new fonts. */
	--neve-font-family-heading: var(--m-head);
	--neve-font-weight-heading: 800;
}
body { font-family: var(--m-body); background: var(--m-bg); color: var(--m-text); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .wp-block-heading { font-family: var(--m-head); font-weight: 800; color: inherit; }
a { text-underline-offset: 3px; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
body .wp-site-blocks { padding-left: 0; padding-right: 0; }
body .wp-site-blocks .mg-reviews.alignfull { margin-left: 0 !important; margin-right: 0 !important; }
.m-sec { padding: 64px var(--m-gut); }
.m-in { max-width: 1240px; margin: 0 auto; }
.m-kick { font-family: var(--m-head); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--m-accent); margin: 0 0 10px; }
.m-h2, h2.m-h2 { font-family: var(--m-head); font-weight: 800; font-size: clamp(28px, 3vw, 38px); line-height: 1.15; margin: 0 0 24px; }
.m-btn, a.m-btn { display: inline-block; background: var(--m-accent); color: #fff; font-family: var(--m-head); font-weight: 700; font-size: 16px; line-height: 1.2; padding: 13px 22px; border-radius: 7px; text-decoration: none; }
.m-btn:hover, .m-btn:focus-visible { background: #9c2f17; color: #fff; }
.m-logo, a.m-logo { font-family: var(--m-head); font-weight: 800; font-size: 25px; color: var(--m-text); text-decoration: none; letter-spacing: -.01em; white-space: nowrap; }
.m-logo span { color: var(--m-orange); }

/* ---------- header ---------- */
.m-bar { background: var(--m-surface); border-bottom: 1px solid var(--m-border); padding: 16px var(--m-gut) !important; position: relative; z-index: 50; }
.m-bar > .m-bar__in { max-width: 1240px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: nowrap; }
.m-bar .wp-block-navigation { font-family: var(--m-head); font-size: 16px; font-weight: 700; gap: 26px; margin-left: auto; }
.m-bar .wp-block-navigation a { color: var(--m-text); text-decoration: none; }
.m-bar .wp-block-navigation a:hover { color: var(--m-accent); }
.m-bar .wp-block-navigation .wp-block-navigation__submenu-container { background: var(--m-surface); border: 1px solid var(--m-border) !important; border-radius: 8px; padding: 8px 0; min-width: 270px !important; box-shadow: 0 12px 30px rgba(60,40,20,.12); font-weight: 600; }
.m-bar .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 8px 18px; }
.m-bar .m-cta { white-space: nowrap; font-size: 15px; padding: 11px 18px; }
.m-bar .wp-block-navigation__responsive-container.is-menu-open { background: var(--m-bg); padding: 24px; }
.m-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 14px; font-size: 20px; }
.m-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 4px 0 0 14px; font-size: 17px; background: transparent; }
.m-bar .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }

/* ---------- home ---------- */
.mg-hero { position: relative; height: 540px; background: #f3ece2; overflow: hidden; }
.mg-hero__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: left center; }
.mg-hero__t { position: absolute; right: max(var(--m-gut), calc((100% - 1240px) / 2)); top: 60px; width: 540px; background: #fff; border-radius: 14px; padding: 36px 38px; box-shadow: 0 14px 40px rgba(60,40,20,.12); }
.mg-hero h1 { font-size: clamp(34px, 3.4vw, 46px); line-height: 1.06; margin: 0 0 14px; }
.mg-hero__sub { font-size: 18px; color: var(--m-muted); margin: 0 0 8px; }
.mg-hero__start { font-size: 14px; font-weight: 700; margin-top: 6px; }
.mg-paths { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.mg-paths a { border-radius: 99px; padding: 10px 18px; font-family: var(--m-head); font-weight: 700; font-size: 15px; color: #fff; text-decoration: none; }
.mg-paths a:hover { filter: brightness(.9); }
.mg-pills { display: flex; gap: 10px; flex-wrap: wrap; }
.mg-pills a { border: 1.5px solid var(--m-border); background: #fff; border-radius: 99px; padding: 8px 16px; font-size: 15px; font-weight: 700; color: var(--m-text); text-decoration: none; }
.mg-pills a:hover { border-color: var(--m-accent2); color: var(--m-accent2); }
.mg-pills a.on { background: var(--m-accent2); border-color: var(--m-accent2); color: #fff; }
.mg-band { background: var(--m-band); }
.mg-shelf { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.mg-book { display: block; background: #fff; border: 1px solid var(--m-border); border-radius: 10px; padding: 18px 14px 16px; text-align: center; color: var(--m-text); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.mg-book:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(60,40,20,.12); }
.mg-book img { height: 190px; width: auto; margin: 0 auto 12px; box-shadow: 0 8px 18px rgba(0,0,0,.14); border-radius: 2px; display: block; }
.mg-book b { font-family: var(--m-head); font-weight: 800; font-size: 15px; display: block; line-height: 1.2; margin-bottom: 6px; }
.mg-book small { font-size: 12.5px; color: var(--m-muted); line-height: 1.35; display: block; }
.mg-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mg-guide { display: block; background: #fff; border: 1px solid var(--m-border); border-top: 6px solid var(--c); border-radius: 10px; padding: 22px 24px; color: var(--m-text); text-decoration: none; }
.mg-guide:hover b { color: var(--c); }
.mg-guide b { font-family: var(--m-head); font-weight: 800; font-size: 22px; display: block; margin-bottom: 6px; }
.mg-guide span { color: var(--m-muted); font-size: 15px; }
.mg-note { display: grid; grid-template-columns: 300px 1fr; gap: 44px; align-items: center; background: #fff; border: 1px solid var(--m-border); border-radius: 14px; padding: 30px; }
.mg-note img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; display: block; }
.mg-note h2 { font-size: clamp(26px, 2.8vw, 34px); margin: 0 0 12px; }
.mg-note p { font-size: 18px; margin: 0 0 16px; }
.mg-note__more { margin: 16px 0 0 !important; font-weight: 700; }
.mg-disc { background: #EAF4F2; border-left: 5px solid var(--m-accent2); border-radius: 8px; padding: 14px 18px; font-size: 15.5px; line-height: 1.55; color: #23413d; margin: 26px 0; }
.mg-note .mg-disc { margin: 0; }
.mg-reviews { background: var(--m-accent) !important; }
.mg-reviews h2 { color: #fff; }

/* ---------- cards ---------- */
.m-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.m-card { background: var(--m-surface); border: 1px solid var(--m-border); border-radius: 8px; overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.m-card__img { display: block; }
.m-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.m-card .b { padding: 16px 20px 20px; }
.m-card .c { font-family: var(--m-head); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--m-accent); }
.m-card h2, .m-card h3 { font-size: 21px; line-height: 1.25; margin: 6px 0 8px; }
.m-card h2 a, .m-card h3 a { color: var(--m-text); text-decoration: none; }
.m-card h2 a:hover, .m-card h3 a:hover { color: var(--m-accent); }
.m-card .t { font-size: 14px; color: var(--m-muted); }
.m-query .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 28px; list-style: none; padding: 0; margin: 0; }
.m-query .wp-block-post-template > li { margin: 0 !important; }
.m-query .wp-block-query-pagination { margin-top: 40px; font-family: var(--m-head); font-weight: 700; gap: 10px; justify-content: center; }
.m-query .wp-block-query-pagination a { color: var(--m-accent); text-decoration: none; }
.m-query .page-numbers { padding: 6px 12px; border-radius: 6px; }
.m-query .page-numbers.current { background: var(--m-accent); color: #fff; }

/* ---------- post ---------- */
.p-head { max-width: 1240px; margin: 0 auto; padding: 48px var(--m-gut) 28px; }
.p-head > * { max-width: 880px; }
.p-crumb { font-size: 13.5px; color: var(--m-muted); margin-bottom: 14px; }
.p-crumb a { color: var(--m-muted); text-decoration: none; }
.p-crumb b { color: var(--m-accent); }
.p-h1, h1.p-h1 { font-size: clamp(34px, 4.2vw, 52px); line-height: 1.08; margin: 0; }
.p-deck { font-size: clamp(19px, 1.8vw, 22px); color: var(--m-muted); line-height: 1.45; margin: 14px 0 0; }
.p-deck p { margin: 0; }
.p-meta { display: flex; gap: 14px; align-items: center; font-size: 14.5px; color: var(--m-muted); margin-top: 18px; }
.p-meta a { color: var(--m-text); text-decoration: none; }
.p-meta img { width: 40px !important; height: 40px !important; border-radius: 50%; object-fit: cover; flex: 0 0 40px; }
.p-hero { max-width: 1240px; margin: 0 auto 40px; padding: 0 var(--m-gut); }
.p-hero img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 8px; max-height: 560px; display: block; }
.p-wrap { max-width: 1240px; margin: 0 auto; padding: 0 var(--m-gut) 56px; display: grid !important; grid-template-columns: minmax(0, 1fr) 260px; gap: 56px; align-items: start; }
.p-wrap > * { margin: 0 !important; }
.p-body { max-width: 68ch; font-size: 19px; line-height: 1.72; }
.p-body .wp-block-post-content > * { margin-block: 0 1.1em; }
.p-body h2 { font-size: clamp(26px, 2.6vw, 32px); margin: 1.6em 0 .5em !important; scroll-margin-top: 24px; }
.p-body h3 { font-size: clamp(21px, 2vw, 24px); margin: 1.4em 0 .4em !important; }
.p-body img { border-radius: 8px; }
.p-body blockquote { border-left: 4px solid var(--m-accent); margin-left: 0; padding-left: 20px; }
.p-body table { font-size: 16px; }
.mg-kt { background: #FFF1E8; border: 1px solid #F3CDB6; border-radius: 10px; padding: 18px 22px; margin: 0 0 28px !important; font-size: 16.5px; line-height: 1.6; }
.mg-kt h2 { font-size: 20px !important; margin: 0 0 8px !important; }
.mg-kt ul { margin: 0; padding-left: 20px; }
.mg-kt li { margin: 4px 0; }
.p-side { position: sticky; top: 24px; }
.p-toc { font-size: 14px; border-left: 2px solid var(--m-border); padding-left: 16px; }
.p-toc b { display: block; font-family: var(--m-head); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
.p-toc ol { list-style: none; margin: 0; padding: 0; }
.p-toc li { padding: 5px 0; line-height: 1.35; }
.p-toc a { color: var(--m-muted); text-decoration: none; }
.p-toc a:hover { color: var(--m-accent); }
.p-box { border: 1px solid var(--m-border); background: var(--m-surface); border-radius: 8px; padding: 20px 24px; margin: 26px 0; font-size: 16.5px; line-height: 1.55; }
.p-box .h { font-family: var(--m-head); font-weight: 800; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--m-accent); margin-bottom: 8px; }
.p-book { display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; border-left: 5px solid var(--c, var(--m-accent)); }
.p-book img { width: 120px; border-radius: 3px; box-shadow: 0 6px 18px rgba(0,0,0,.18); display: block; }
.p-book__t { font-family: var(--m-head); font-weight: 800; font-size: 22px; display: block; }
.p-book p { margin: 6px 0 12px; }
.p-auth { display: grid; grid-template-columns: 96px 1fr; gap: 20px; align-items: center; border-top: 1px solid var(--m-border); padding-top: 26px; margin-top: 30px; font-size: 16px; line-height: 1.55; }
.p-auth img { width: 96px; height: 120px !important; object-fit: cover; border-radius: 8px; display: block; }
.p-extras { margin-top: 36px; }
.m-comments { max-width: 1240px; margin: 0 auto; padding: 0 var(--m-gut) 56px; }
.m-comments > * { max-width: 68ch; }

/* ---------- pages and book pages ---------- */
.pg-head { max-width: 1240px; margin: 0 auto; padding: 48px var(--m-gut) 24px; }
.pg-head > * { max-width: 880px; }
.pg-head--arch { border-left: 0; }
.pg-head--arch .m-kick { color: var(--c); }
.pg-head .search-form, .pg-head .wp-block-search { margin-top: 20px; }
.pg-head .search-form { display: flex; gap: 10px; max-width: 520px; }
.pg-head .search-form label { flex: 1; margin: 0; }
.pg-head .search-form .search-field { width: 100%; box-sizing: border-box; padding: 12px 16px; border: 1px solid var(--m-border, #E6DCD2); border-radius: 999px; background: #fff; font: inherit; font-size: 16px; }
.pg-head .search-form .search-submit { border: 0; border-radius: 999px; padding: 12px 22px; background: #B93A1E; color: #fff; font-weight: 700; cursor: pointer; }
.pg-body { max-width: 1240px; margin: 0 auto; padding: 0 var(--m-gut) 56px; }
.pg-body > .wp-block-post-content { max-width: 860px; font-size: 19px; line-height: 1.72; }
.pg-body--wide > .wp-block-post-content { max-width: none; }
.bk-hero { max-width: 1240px; margin: 0 auto; padding: 56px var(--m-gut) 48px; display: grid; grid-template-columns: 420px 1fr; gap: 64px; align-items: center; }
.bk-hero__cover { background: #fff; border: 1px solid var(--m-border); border-radius: 14px; padding: 36px 0; text-align: center; }
.bk-hero__cover img { max-height: 520px; width: auto; margin: 0 auto; box-shadow: 0 18px 40px rgba(0,0,0,.22); border-radius: 3px; display: block; }
.bk-hero .m-kick { color: var(--c); }
.bk-hero__buy { margin: 26px 0 0; }
.bk-hero__by { font-size: 15px; color: var(--m-muted); margin: 14px 0 0; }
.bk-hero__by a { color: var(--m-text); }
.pg-body .wp-block-quote { background: #fff; border: 1px solid var(--m-border); border-left: 5px solid var(--m-accent); border-radius: 8px; padding: 18px 22px; margin: 18px 0; font-size: 17px; }
.pg-body .wp-block-quote cite { display: block; margin-top: 8px; font-size: 14px; color: var(--m-muted); font-style: normal; font-weight: 700; }
.pg-body .wp-block-button__link { background: var(--m-accent); color: #fff; border-radius: 7px; font-family: var(--m-head); font-weight: 700; }

/* /blog/ grid from Blog Designer Pack: only restyled. */
.bdp-post-grid-main, .bdp-masonry-main { font-family: var(--m-body); }
.bdp-post-grid-main .bdp-post-title a, .bdp-masonry .bdp-post-title a, .bdp-post-title a { font-family: var(--m-head) !important; font-weight: 800 !important; color: var(--m-text) !important; }
.bdp-post-cats a, .bdp-post-cats-wrp a { background: var(--m-accent) !important; color: #fff !important; border-radius: 99px !important; font-family: var(--m-head); }
.bdp-post-grid-content, .bdp-post-masonry-content, .bdp-masonry-wrap .bdp-post-grid-content { border-radius: 8px; }
.bdp-pagination .page-numbers.current { background: var(--m-accent) !important; }

/* ---------- footer ---------- */
.m-foot { background: var(--m-text); color: rgba(255,255,255,.78); padding: 48px var(--m-gut) 32px; font-size: 14.5px; }
.m-foot__in { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 28px; }
.m-foot .m-logo { color: #fff; }
.m-foot__brand p { margin: 10px 0 0; font-size: 16px; }
.m-foot h2 { color: #fff; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 10px; }
.m-foot ul { list-style: none; margin: 0; padding: 0; }
.m-foot li { margin: 0 0 6px; }
.m-foot a { color: rgba(255,255,255,.82); text-decoration: none; }
.m-foot a:hover { color: #fff; text-decoration: underline; }
.m-foot .pub { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.18); padding-top: 16px; margin-top: 8px; font-size: 13.5px; }

/* ---------- responsive ---------- */
/* Hero sul desktop: la foto (3:2) distesa da bordo a bordo, più alta perché il taglio perda meno tavola (25/09/2026) */
@media (min-width: 1101px) {
	.mg-hero { height: 620px; }
	.mg-hero__t { top: 50%; transform: translateY(-50%); }
	.mg-hero__img { object-position: center 45%; }
}
@media (max-width: 1100px) {
	.m-bar .m-cta { display: none; }
	.mg-shelf { grid-template-columns: repeat(3, 1fr); }
	.bk-hero { grid-template-columns: 340px 1fr; gap: 40px; }
}
@media (max-width: 900px) {
	:root { --m-gut: 20px; }
	.m-sec { padding: 44px var(--m-gut); }
	.mg-hero { height: auto; background: none; }
	.mg-hero__img { position: static; height: 250px !important; object-position: center; }
	.mg-hero__t { position: static; width: auto; box-shadow: none; border-radius: 0; background: transparent; padding: 22px 20px 8px; }
	.mg-hero h1 { font-size: 31px; line-height: 1.08; }
	.mg-shelf { grid-template-columns: 1fr; gap: 10px; }
	.mg-book { display: grid; grid-template-columns: 70px 1fr; gap: 14px; align-items: center; text-align: left; padding: 10px; border-left: 5px solid var(--c); border-radius: 8px; }
	.mg-book img { width: 70px; height: auto; margin: 0; }
	.mg-book b { font-size: 16px; }
	.mg-book small { font-size: 13px; }
	.mg-guides, .m-cards, .m-query .wp-block-post-template { grid-template-columns: 1fr; gap: 18px; }
	.mg-note { grid-template-columns: 1fr; gap: 22px; padding: 20px; }
	.p-wrap { grid-template-columns: 1fr; gap: 0; }
	.p-side { display: none; }
	.p-hero { padding: 0; margin-bottom: 28px; }
	.p-hero img { border-radius: 0; }
	.p-head { padding-top: 28px; }
	.p-body { font-size: 18px; }
	.bk-hero { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
	.bk-hero__cover { padding: 24px 0; }
	.bk-hero__cover img { max-height: 360px; }
	.m-foot__in { grid-template-columns: 1fr 1fr; }
	.m-foot__brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
	.p-book { grid-template-columns: 80px 1fr; gap: 14px; }
	.p-book img { width: 80px; }
	.p-auth { grid-template-columns: 72px 1fr; }
	.p-auth img { width: 72px; height: 90px !important; }
	.m-foot__in { grid-template-columns: 1fr; }
	.m-logo { font-size: 22px; }
}
.pg-pills { max-width: 1240px; margin: 0 auto; padding: 0 var(--m-gut) 36px; }
/* Pagine: colonna di testo centrata, titolo allineato al testo (25/09/2026) */
body.page .pg-head:not(.pg-head--arch) > * { max-width: 860px; margin-left: auto; margin-right: auto; }
body.page .pg-body > .wp-block-post-content:not(.alignwide):not(.alignfull) { margin-left: auto; margin-right: auto; }
/* Header: niente margine del blockGap sui figli, logo e menu sulla stessa linea (25/09/2026) */
.m-bar > .m-bar__in > * { margin-top: 0 !important; margin-bottom: 0 !important; }
