/*
Theme Name: Lily Mindwell
Template: neve-fse
Description: Tema figlio di Neve FSE per lilymindwellbooks.com. Redesign 2026: carta rosata, Instrument Serif e Inter, salvia e mattone.
Version: 1.0.0
Author: Mindspark Press Ltd
Text Domain: lily-mindwell
*/

:root {
	--lm-text: #292525;
	--lm-muted: #716968;
	--lm-accent: #587C7A;
	--lm-accent-t: #466A68;
	--lm-brick: #8E4F46;
	--lm-bg: #F6F3F0;
	--lm-surface: #FFFFFF;
	--lm-border: #DED6D2;
	--lm-paper: #FBF8F4;
	--lm-cover: #EDE7E2;
	--lm-head: 'Instrument Serif', Georgia, serif;
	--lm-body: 'Inter', Arial, sans-serif;
	--lm-gutter: 48px;
	--lm-max: 1240px;
}

body { background: var(--lm-bg); color: var(--lm-text); font-family: var(--lm-body); -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
a { text-underline-offset: 3px; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) :focus-visible { outline: 2px solid var(--lm-accent-t); outline-offset: 2px; }

/* ---------- pezzi comuni ---------- */
.lm-wrap { max-width: calc(var(--lm-max) + 2 * var(--lm-gutter)); margin: 0 auto; padding-left: var(--lm-gutter); padding-right: var(--lm-gutter); box-sizing: border-box; }
.lm-sec { padding-top: 72px; padding-bottom: 72px; }
.lm-kick { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lm-accent-t); margin: 0 0 10px; }
.lm-h2, .lm-sec > h2, .lm-about h2 { font-family: var(--lm-head); font-weight: 400; font-size: 38px; line-height: 1.15; margin: 0 0 26px; }
.lm-btn, a.lm-btn { display: inline-block; background: var(--lm-accent-t); color: #fff !important; font-weight: 700; font-size: 16px; line-height: 1.3; padding: 13px 22px; border-radius: 7px; text-decoration: none !important; border: 1.5px solid var(--lm-accent-t); transition: background .15s, border-color .15s; }
.lm-btn:hover { background: var(--lm-text); border-color: var(--lm-text); }
.lm-btn.alt { background: transparent; color: var(--lm-text) !important; border-color: var(--lm-text); }
.lm-btn.alt:hover { background: var(--lm-text); color: #fff !important; }
.lm-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

/* ---------- testata ---------- */
.lm-bar { background: var(--lm-surface); border-bottom: 1px solid var(--lm-border); position: relative; z-index: 50; }
.lm-bar > .lm-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 20px; padding-bottom: 20px; }
.lm-bar .wp-block-site-title { font-family: var(--lm-head); font-size: 30px; line-height: 1; font-weight: 400; margin: 0; white-space: nowrap; }
.lm-bar .wp-block-site-title a { color: var(--lm-text); text-decoration: none; }
.lm-bar .lm-navbox { display: flex; align-items: center; gap: 28px; }
.lm-bar .wp-block-navigation { font-size: 16px; font-weight: 600; gap: 28px; }
.lm-bar .wp-block-navigation .wp-block-navigation__container { gap: 28px; }
.lm-bar .wp-block-navigation a, .lm-bar .wp-block-navigation button { color: var(--lm-text); text-decoration: none; }
.lm-bar .wp-block-navigation a:hover { color: var(--lm-accent-t); }
.lm-bar .wp-block-navigation .wp-block-navigation__submenu-container { background: var(--lm-surface); border: 1px solid var(--lm-border) !important; border-radius: 8px; padding: 8px 0; min-width: 300px !important; box-shadow: 0 10px 30px rgba(40,30,30,.10); }
.lm-bar .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 8px 18px; font-weight: 500; }
.lm-bar .wp-block-buttons { margin: 0; }
.lm-bar .wp-block-button__link { padding: 11px 20px; font-size: 15px; }
.lm-bar .wp-block-navigation__responsive-container.is-menu-open { background: var(--lm-bg); padding: 24px; }
.lm-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { font-size: 20px; gap: 18px; }
.lm-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; background: transparent; padding: 6px 0 0 14px; min-width: 0 !important; }

/* ---------- home ---------- */
.lm-hero { position: relative; height: 600px; overflow: hidden; background: var(--lm-cover); }
.lm-hero picture, .lm-hero img { display: block; width: 100%; height: 100%; }
.lm-hero img { object-fit: cover; object-position: center; }
.lm-hero .t { position: absolute; top: 0; bottom: 0; left: max(64px, calc((100% - var(--lm-max)) / 2)); width: 520px; display: flex; flex-direction: column; justify-content: center; }
.lm-hero h1 { font-family: var(--lm-head); font-weight: 400; font-size: 58px; line-height: 1.02; letter-spacing: -.01em; margin: 0 0 18px; color: var(--lm-text); }
.lm-hero h1 i { color: var(--lm-accent-t); }
.lm-hero .sub { font-size: 19px; color: var(--lm-muted); margin: 0; line-height: 1.5; }

.lm-paths { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lm-path { display: block; background: var(--lm-surface); border: 1px solid var(--lm-border); border-radius: 8px; padding: 22px 22px 20px; color: var(--lm-text); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.lm-path:hover { border-color: var(--lm-accent); box-shadow: 0 6px 20px rgba(40,30,30,.07); }
.lm-path .n { display: block; font-family: var(--lm-head); font-style: italic; font-size: 17px; color: var(--lm-brick); }
.lm-path b { display: block; font-family: var(--lm-head); font-weight: 400; font-size: 27px; line-height: 1.1; margin: 4px 0 8px; }
.lm-path p { font-size: 15px; color: var(--lm-muted); margin: 0 0 12px; line-height: 1.5; }
.lm-path .go { font-size: 14px; font-weight: 600; color: var(--lm-accent-t); }

.lm-shelf { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.lm-wb .c { display: flex; justify-content: center; align-items: center; background: var(--lm-cover); border-radius: 8px; padding: 30px 0; margin-bottom: 16px; }
.lm-wb .c img { height: 300px; width: auto; box-shadow: 0 14px 30px rgba(40,30,30,.22); border-radius: 2px; }
.lm-wb .for { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--lm-brick); font-weight: 600; }
.lm-wb h3 { font-family: var(--lm-head); font-weight: 400; font-size: 25px; line-height: 1.12; margin: 4px 0 8px; }
.lm-wb h3 a { color: var(--lm-text); text-decoration: none; }
.lm-wb h3 a:hover { color: var(--lm-accent-t); }
.lm-wb p { font-size: 15.5px; color: var(--lm-muted); margin: 0 0 12px; line-height: 1.55; }
.lm-wb .go { font-size: 14px; font-weight: 600; color: var(--lm-accent-t); text-decoration: none; }

.lm-cards, .lm-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; list-style: none; margin: 0; padding: 0; }
.lm-card, .lm-grid .wp-block-post { background: var(--lm-surface); border: 1px solid var(--lm-border); border-radius: 8px; overflow: hidden; margin: 0; display: flex; flex-direction: column; }
.lm-card .i img, .lm-grid .wp-block-post-featured-image img { display: block; width: 100%; aspect-ratio: 3/2; height: auto !important; object-fit: cover; }
.lm-grid .wp-block-post-featured-image { margin: 0; }
.lm-card .b, .lm-grid .lm-card-b { padding: 16px 20px 20px; }
.lm-card .c, .lm-grid .wp-block-post-terms { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--lm-accent-t); text-decoration: none; }
.lm-grid .wp-block-post-terms a { color: var(--lm-accent-t); text-decoration: none; }
.lm-grid .wp-block-post-terms .wp-block-post-terms__separator { opacity: .6; }
.lm-card h3, .lm-grid .wp-block-post-title { font-family: var(--lm-head); font-weight: 400; font-size: 21px; line-height: 1.25; margin: 6px 0 8px; }
.lm-card h3 a, .lm-grid .wp-block-post-title a { color: var(--lm-text); text-decoration: none; }
.lm-card h3 a:hover, .lm-grid .wp-block-post-title a:hover { color: var(--lm-accent-t); }
.lm-card .t, .lm-grid .t { font-size: 14px; color: var(--lm-muted); }

.lm-about { display: grid; grid-template-columns: 460px 1fr; gap: 56px; align-items: center; }
.lm-about img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 8px; display: block; }
.lm-about h2 { margin-bottom: 12px; }
.lm-about p { font-size: 18px; line-height: 1.65; margin: 0 0 14px; }
.lm-about .lm-btn { margin-top: 8px; }

/* recensioni: il nastro di sempre, ricolorato */
.lm-reviews { background: var(--lm-accent-t); color: var(--lm-paper); }
.lm-reviews h2 { color: #fff; text-align: center; margin: 0 0 8px; }
.lm-reviews .intro { text-align: center; font-size: 15px; margin: 0 0 32px; opacity: .9; }
.lm-reviews .bg-rev__quote { font-family: var(--lm-body); }

/* ---------- articolo ---------- */
.p-head { padding-top: 56px; padding-bottom: 28px; }
.p-head > * { max-width: 880px; }
.p-crumb { font-size: 13px; color: var(--lm-muted); margin: 0 0 14px; }
.p-crumb a { color: var(--lm-muted); text-decoration: none; }
.p-crumb a.on { color: var(--lm-accent-t); font-weight: 700; }
.p-head .wp-block-post-title, .p-h1 { font-family: var(--lm-head); font-weight: 400; font-size: 52px; line-height: 1.08; margin: 0; }
.p-meta { display: flex; gap: 14px; align-items: center; font-size: 14px; color: var(--lm-muted); margin-top: 18px; }
.p-meta img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.p-meta .who { color: var(--lm-text); font-weight: 700; text-decoration: none; }
.p-hero { margin-bottom: 40px; }
.p-hero .wp-block-post-featured-image { margin: 0; }
.p-hero img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 8px; max-height: 560px; display: block; }
.p-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 56px; padding-bottom: 64px; align-items: start; }
.p-body { max-width: 68ch; font-size: 19px; line-height: 1.72; }
.p-body .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 1.1em; }
.p-body .wp-block-post-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none; margin-left: 0; margin-right: 0; }
.p-body h2 { font-family: var(--lm-head); font-weight: 400; font-size: 32px; line-height: 1.18; margin-top: 36px !important; margin-bottom: .5em !important; scroll-margin-top: 24px; }
.p-body h3 { font-family: var(--lm-head); font-weight: 400; font-size: 25px; line-height: 1.2; margin-top: 28px !important; margin-bottom: .4em !important; scroll-margin-top: 24px; }
.p-body a { color: var(--lm-accent-t); }
.p-body figure img { border-radius: 8px; }
.p-body blockquote { border-left: 3px solid var(--lm-accent); padding-left: 20px; margin-left: 0; font-style: italic; }
.p-side { position: sticky; top: 24px; }
.admin-bar .p-side { top: 56px; }
.p-toc { font-size: 14px; border-left: 2px solid var(--lm-border); padding-left: 16px; }
.p-toc b { display: block; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
.p-toc a { display: block; padding: 5px 0; color: var(--lm-muted); line-height: 1.35; text-decoration: none; }
.p-toc a:hover { color: var(--lm-text); }
.p-toc a.on { color: var(--lm-accent-t); font-weight: 700; }
.p-box { border: 1px solid var(--lm-border); background: var(--lm-surface); border-radius: 8px; padding: 20px 24px; margin: 26px 0; font-size: 16.5px; line-height: 1.55; }
.p-box .h { font-weight: 800; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--lm-accent-t); margin-bottom: 8px; }
.p-book { display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; }
.p-book img { width: 120px; height: auto; border-radius: 3px; box-shadow: 0 6px 18px rgba(0,0,0,.18); display: block; }
.p-book .t { display: block; font-family: var(--lm-head); font-size: 25px; line-height: 1.15; color: var(--lm-text); text-decoration: none; }
.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(--lm-border); padding-top: 26px; margin-top: 30px; font-size: 16px; line-height: 1.55; }
.p-auth img { width: 96px; height: 120px; object-fit: cover; border-radius: 8px; display: block; }
.p-comments { border-top: 1px solid var(--lm-border); margin-top: 40px; padding-top: 24px; font-size: 16px; }
.p-comments h2 { font-size: 28px; }

/* le vecchie sottolineature blu dentro gli articoli e le pagine */
span[style*="1157b8"], span[style*="1157B8"] { text-decoration-color: var(--lm-accent) !important; }
[style*="color:#1157b8"], [style*="color: #1157b8"] { color: var(--lm-accent-t) !important; }

/* ---------- pagine ---------- */
.lm-page-head { padding-top: 56px; padding-bottom: 12px; }
.lm-page-head .wp-block-post-title { font-family: var(--lm-head); font-weight: 400; font-size: 52px; line-height: 1.08; margin: 0; }
.lm-page .wp-block-post-content { font-size: 18px; line-height: 1.7; padding-bottom: 72px; }
.lm-page .wp-block-post-content h2 { font-size: 34px; margin-top: 40px; }
.lm-page .wp-block-post-content a { color: var(--lm-accent-t); }
.lm-page .wp-block-post-content img { border-radius: 8px; }

/* pagina workbook: la prima fascia e' copertina + titolo */
.lm-workbook .wp-block-post-content { padding-top: 56px; }
.lm-book-top { gap: 64px !important; align-items: center !important; margin-bottom: 48px !important; }
.lm-book-top > .wp-block-column:first-child { flex-basis: 420px !important; flex-grow: 0 !important; background: var(--lm-cover); border-radius: 8px; padding: 40px 0; text-align: center; }
.lm-book-top > .wp-block-column:first-child figure { margin: 0 auto; }
.lm-book-top > .wp-block-column:first-child img { max-height: 440px; width: auto; box-shadow: 0 18px 40px rgba(0,0,0,.22); border-radius: 3px !important; }
.lm-book-top h1 { font-family: var(--lm-head); font-weight: 400; font-size: 52px; line-height: 1.08; margin: 0 0 14px; }
.lm-book-top h2.lm-hook { font-size: 28px !important; line-height: 1.2; color: var(--lm-accent-t) !important; margin: 0 0 10px !important; }
.lm-book-top .lm-deck { font-size: 20px; color: var(--lm-muted); line-height: 1.45; }
.lm-book-top .lm-formats { font-size: 14px; color: var(--lm-muted); margin-top: 14px; }

/* ---------- archivi, ricerca, 404 ---------- */
.lm-arch-head { padding: 56px 0 28px; max-width: 880px; }
.lm-arch-head h1 { font-family: var(--lm-head); font-weight: 400; font-size: 52px; line-height: 1.08; margin: 0; }
.lm-arch-head .d { font-size: 18px; color: var(--lm-muted); margin-top: 14px; line-height: 1.55; }
.lm-arch-head .d p { margin: 0 0 10px; }
.lm-grid { padding-bottom: 72px; }
.lm-grid .wp-block-query-pagination { margin-top: 40px; font-size: 16px; font-weight: 600; gap: 14px; }
.lm-grid .wp-block-query-pagination a { color: var(--lm-accent-t); text-decoration: none; }
.lm-grid .wp-block-query-pagination .current { color: var(--lm-text); }
.lm-404 { padding: 96px 0; max-width: 720px; }
.lm-404 h1 { font-size: 52px; margin: 0 0 14px; }
.lm-404 p { font-size: 19px; color: var(--lm-muted); }
.wp-block-search__input { border: 1px solid var(--lm-border); border-radius: 7px; padding: 12px 14px; font-size: 16px; background: #fff; }
.wp-block-search__button { background: var(--lm-accent-t); color: #fff; border: 0; border-radius: 7px; padding: 12px 20px; font-weight: 700; margin-left: 8px; }

/* Blog Designer Pack su /blog-page/ */
.bdp-post-masonry .bdp-post-grid-content, .bdp-post-masonry .bdp-post-content-wrp, .bdp-masonry .bdp-post-masonry-content { background: var(--lm-surface) !important; border: 1px solid var(--lm-border); border-radius: 8px; overflow: hidden; }
.lm-page [class*="bdp-"] .bdp-post-title a, .lm-page [class*="bdp-"] h2 a { font-family: var(--lm-head); font-weight: 400; color: var(--lm-text) !important; text-decoration: none; }
.lm-page [class*="bdp-"] .bdp-post-cats a, .lm-page [class*="bdp-"] .bdp-post-cats { background: transparent !important; color: var(--lm-accent-t) !important; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 0 !important; }
.lm-page [class*="bdp-"] .bdp-rdmr-btn, .lm-page [class*="bdp-"] .bdp-readmore-btn { background: transparent !important; border: 0 !important; color: var(--lm-accent-t) !important; padding: 0 !important; font-weight: 600; }
.lm-page [class*="bdp-"] .bdp-pagination a, .lm-page [class*="bdp-"] .bdp-pagination span { border-radius: 6px; }
.lm-page [class*="bdp-"] .bdp-pagination .current { background: var(--lm-accent-t) !important; border-color: var(--lm-accent-t) !important; color: #fff !important; }

/* ---------- piede ---------- */
.lm-foot { background: var(--lm-text); color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.7; }
.lm-foot .lm-in { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 28px; padding-top: 40px; padding-bottom: 32px; }
.lm-foot b { color: #fff; display: block; margin-bottom: 8px; }
.lm-foot .brand b { font-family: var(--lm-head); font-weight: 400; font-size: 26px; line-height: 1.1; }
.lm-foot a { color: rgba(255,255,255,.78); text-decoration: none; display: block; }
.lm-foot a:hover { color: #fff; text-decoration: underline; }
.lm-foot .pub { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.18); padding-top: 16px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.lm-foot .pub a { display: inline; }

/* iubenda */
.iubenda-uspr-btn.iubenda-uspr-btn{font-size:14px!important;border-radius:6px!important}
.iubenda-uspr-btn.iubenda-uspr-btn a{padding:.55rem .8rem!important;gap:.4rem!important;grid-gap:.4rem!important}
.iubenda-uspr-btn.iubenda-uspr-btn a img{width:1.9rem!important}

/* ---------- schermi medi ---------- */
@media (max-width: 1100px) {
	.lm-paths { grid-template-columns: repeat(2, 1fr); }
	.lm-about { grid-template-columns: 1fr 1fr; gap: 36px; }
	.p-wrap { grid-template-columns: minmax(0, 1fr) 220px; gap: 36px; }
	.lm-book-top > .wp-block-column:first-child { flex-basis: 340px !important; }
}

/* ---------- telefono ---------- */
@media (max-width: 781px) {
	:root { --lm-gutter: 20px; }
	.lm-sec { padding-top: 44px; padding-bottom: 44px; }
	.lm-h2, .lm-sec > h2, .lm-about h2 { font-size: 30px; margin-bottom: 18px; }
	.lm-bar > .lm-in { padding-top: 16px; padding-bottom: 16px; }
	.lm-bar .wp-block-site-title { font-size: 25px; }
	.lm-bar .wp-block-buttons { display: none; }
	.lm-hero { height: auto; background: none; overflow: visible; }
	.lm-hero picture { height: 250px; }
	.lm-hero img { object-position: 70% center; }
	.lm-hero .t { position: static; width: auto; padding: 22px 20px 8px; }
	.lm-hero h1 { font-size: 34px; line-height: 1.04; }
	.lm-hero .sub { font-size: 17px; }
	.lm-hero .lm-btn.alt { display: none; }
	.lm-paths { grid-template-columns: 1fr; gap: 10px; }
	.lm-path { padding: 12px 16px; }
	.lm-path .n { font-size: 14px; }
	.lm-path b { font-size: 22px; margin: 2px 0 4px; }
	.lm-path p { font-size: 14px; margin-bottom: 6px; }
	.lm-shelf { grid-template-columns: 1fr; gap: 36px; }
	.lm-wb .c img { height: 260px; }
	.lm-cards, .lm-grid .wp-block-post-template { grid-template-columns: 1fr; gap: 20px; }
	.lm-about { grid-template-columns: 1fr; gap: 22px; }
	.lm-about p { font-size: 17px; }
	.p-head { padding-top: 32px; }
	.p-head .wp-block-post-title, .p-h1, .lm-page-head .wp-block-post-title, .lm-arch-head h1, .lm-book-top h1 { font-size: 34px; }
	.p-meta { font-size: 13px; }
	.p-hero { margin-bottom: 24px; }
	.p-wrap { grid-template-columns: 1fr; gap: 0; }
	.p-side { display: none; }
	.p-body { font-size: 18px; }
	.p-body h2 { font-size: 27px; }
	.p-book { grid-template-columns: 84px 1fr; gap: 16px; align-items: start; }
	.p-book img { width: 84px; }
	.p-book .t { font-size: 21px; }
	.p-auth { grid-template-columns: 72px 1fr; }
	.p-auth img { width: 72px; height: 90px; }
	.lm-workbook .wp-block-post-content { padding-top: 24px; }
	.lm-book-top { gap: 24px !important; }
	.lm-book-top > .wp-block-column:first-child { flex-basis: 100% !important; padding: 28px 0; }
	.lm-book-top > .wp-block-column:first-child img { max-height: 320px; }
	.lm-book-top h2.lm-hook { font-size: 23px !important; }
	.lm-arch-head { padding-top: 32px; }
	.lm-foot .lm-in { grid-template-columns: 1fr 1fr; }
	.lm-foot .brand { grid-column: 1 / -1; }
	.lm-404 { padding: 56px 0; }
	.lm-404 h1 { font-size: 36px; }
}
