/*
Theme Name: Making Change Real
Author: Federico Mazzucchelli
Description: Tema su misura per Federico Mazzucchelli: homepage in italiano e in inglese, blog e modulo di contatto.
Version: 1.3.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: makingchangereal
*/

/* Caratteri ospitati nel tema: nessuna chiamata a servizi esterni. */
@font-face { font-family: 'Newsreader'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/newsreader-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Newsreader'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/newsreader-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Newsreader'; font-style: italic; font-weight: 400; font-display: swap; src: url('assets/fonts/newsreader-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/hanken-grotesk-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/hanken-grotesk-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/hanken-grotesk-latin-600-normal.woff2') format('woff2'); }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #0E1A2B; }
a { color: inherit; }
a:hover { opacity: .78; }
img { max-width: 100%; }
input::placeholder, textarea::placeholder { color: #8794A8; }
input:focus, textarea:focus { outline: 2px solid #C9A45C; outline-offset: 1px; }
a:focus-visible, button:focus-visible { outline: 2px solid #C9A45C; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Riga che propone la versione inglese a chi ha il browser in un'altra lingua */
.fm-langbar { background: #C9A45C; color: #0E1A2B; font-family: 'Hanken Grotesk', system-ui, sans-serif; font-size: 15px; line-height: 1.4; padding: 4px clamp(20px, 5vw, 80px); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2px 14px; }
.fm-langbar[hidden] { display: none; }
.fm-langbar a { font-weight: 600; padding: 10px 0; }
.fm-langbar button { background: none; border: 0; color: inherit; font: inherit; font-size: 22px; line-height: 1; width: 44px; height: 44px; cursor: pointer; }

/* Pagine interne: blog, articoli, pagine di testo */
.fm-shell { font-family: 'Hanken Grotesk', system-ui, sans-serif; color: #0E1A2B; background: #F6F1E8; font-size: 17px; line-height: 1.6; min-height: 100vh; display: flex; flex-direction: column; }
.fm-shell > .fm-main { flex: 1; }
.fm-bar { background: #0E1A2B; color: #FFFFFF; padding: 20px clamp(20px, 5vw, 80px); border-bottom: 1px solid rgba(255,255,255,0.12); }
.fm-bar__in { max-width: 1160px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.fm-brand { text-decoration: none; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-height: 44px; }
.fm-brand__name { font-family: 'Newsreader', Georgia, serif; font-size: 26px; font-weight: 500; letter-spacing: 0.01em; }
.fm-brand__tag { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #B4BFD0; }
.fm-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; font-size: 15px; }
.fm-nav a { text-decoration: none; padding: 11px 0; color: #D5DCE7; }
.fm-nav a.fm-nav__cta { padding: 11px 22px; border: 1px solid #C9A45C; color: #C9A45C; border-radius: 2px; font-weight: 500; }
.fm-main { padding: clamp(48px, 6vw, 88px) clamp(20px, 5vw, 80px); }
.fm-col { max-width: 760px; margin: 0 auto; }
.fm-eyebrow { font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: #775A12; font-weight: 600; margin: 0 0 14px; }
.fm-title { margin: 0 0 16px; font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: clamp(34px, 4.4vw, 54px); line-height: 1.1; }
.fm-meta { color: #46536A; font-size: 15px; margin: 0 0 36px; }
.fm-list { list-style: none; margin: 0; padding: 0; }
.fm-list li { padding: 30px 0; border-top: 1px solid #E7DED0; }
.fm-list li:first-child { border-top: 1px solid #0E1A2B; }
.fm-list h2 { margin: 0 0 8px; font-family: 'Newsreader', Georgia, serif; font-weight: 500; font-size: 30px; line-height: 1.2; }
.fm-list h2 a { text-decoration: none; }
.fm-list p { margin: 0; color: #46536A; }
.fm-list .fm-meta { margin: 0 0 10px; }
.fm-figure { display: block; margin: 0 0 36px; }
.fm-figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 2px; }
.fm-list .fm-figure { margin: 0 0 18px; }
.fm-content { font-size: 19px; line-height: 1.7; }
.fm-content > * { margin: 0 0 1.2em; }
.fm-content h2, .fm-content h3 { font-family: 'Newsreader', Georgia, serif; font-weight: 500; line-height: 1.2; margin: 1.8em 0 0.6em; }
.fm-content h2 { font-size: 32px; }
.fm-content h3 { font-size: 26px; }
.fm-content a { color: #775A12; text-decoration: underline; text-underline-offset: 3px; }
.fm-content img { height: auto; border-radius: 2px; }
.fm-content blockquote { margin: 1.6em 0; padding: 0 0 0 24px; border-left: 2px solid #0E1A2B; font-family: 'Newsreader', Georgia, serif; font-size: 24px; line-height: 1.4; }
.fm-content ul, .fm-content ol { padding-left: 1.3em; }
.fm-content .alignwide, .fm-content .alignfull { max-width: 100%; }
.fm-pager { display: flex; justify-content: space-between; gap: 24px; padding-top: 32px; margin-top: 16px; border-top: 1px solid #E7DED0; font-weight: 600; }
.fm-pager a { color: #775A12; padding: 10px 0; }
.fm-foot { background: #0A1422; color: #B4BFD0; padding: 28px clamp(20px, 5vw, 80px); font-size: 14px; }
.fm-foot__in { max-width: 1160px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 32px; }
.fm-foot a { padding: 10px 0; display: inline-block; }
.fm-foot__links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; }
.fm-foot__tag { color: #C9A45C; letter-spacing: 0.02em; }
.fm-notice { margin: 0; padding: 14px 16px; border-radius: 2px; font-size: 15px; }
.fm-notice--ok { background: #1D3A2E; color: #D9F2E3; border: 1px solid #3F7A5C; }
.fm-notice--ko { background: #432028; color: #F7D9DE; border: 1px solid #8E4A56; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
