/*
Theme Name: Peregrinus
Theme URI: https://peregrinus.app/
Description: Tema del sito peregrinus.app: lo stesso aspetto dell'app Peregrinus (avorio, ocra, bruno, rosso rubrica). Intestazione e piè di pagina seguono la lingua della pagina (Polylang): italiano, inglese, francese, spagnolo, portoghese. Da usare con il plugin Peregrinus.
Version: 1.7.0
Requires at least: 6.5
Tested up to: 6.8
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: peregrinus-tema
*/

/* colori in uso (gli stessi della tavolozza in theme.json), con la versione scura */
:root {
	--pg-paper: var(--wp--preset--color--paper, #FAF6EF);
	--pg-vellum: var(--wp--preset--color--vellum, #F3EDE2);
	--pg-ink: var(--wp--preset--color--ink, #2E2419);
	--pg-text: var(--wp--preset--color--text, #332A20);
	--pg-muted: var(--wp--preset--color--muted, #6B6154);
	--pg-rule: var(--wp--preset--color--rule, #E0D5C2);
	--pg-ochre: var(--wp--preset--color--ochre, #B5820A);
	--pg-ochre-ink: var(--wp--preset--color--ochre-ink, #8F6708);
	--pg-ochre-hover: #74540A;
	--pg-on-ochre: #FFFFFF;
	--pg-staff4: rgba(155, 45, 32, .55);
	--pg-staff5: rgba(46, 36, 25, .7);
	--pg-shadow: 0 1px 2px rgba(46, 36, 25, .06), 0 10px 30px rgba(46, 36, 25, .08);
	--pg-wide: 1120px;
	--pg-gutter: clamp(16px, 3vw, 24px);
	color-scheme: light;
}
@media (prefers-color-scheme: dark) {
	:root:root {
		--wp--preset--color--paper: #1E1812; --wp--preset--color--vellum: #271F17; --wp--preset--color--ink: #F1E8D8;
		--wp--preset--color--text: #E6DCCB; --wp--preset--color--muted: #B4A68F; --wp--preset--color--rule: #3D3226;
		--wp--preset--color--ochre: #D19A1E; --wp--preset--color--ochre-ink: #D19A1E; --wp--preset--color--rubric: #D0705F;
		--pg-ochre-hover: #E3B14A; --pg-on-ochre: #1E1812;
		--pg-staff4: rgba(208, 112, 95, .6); --pg-staff5: rgba(241, 232, 216, .55);
		--pg-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .35);
		color-scheme: dark;
	}
	:root:root .wp-element-button, :root:root .wp-block-button__link { color: var(--pg-on-ochre); }
	:root:root .is-style-outline > .wp-block-button__link { color: var(--pg-ink); }
	:root:root a:where(:not(.wp-element-button)):hover { color: var(--pg-ochre-hover); }
}
html { -webkit-text-size-adjust: 100%; }
body { background: var(--pg-paper); color: var(--pg-text); }
a { text-underline-offset: .18em; }
:focus-visible { outline: 2px solid var(--pg-ochre); outline-offset: 3px; border-radius: 2px; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.wrap { max-width: var(--pg-wide); margin: 0 auto; padding: 0 var(--pg-gutter); box-sizing: content-box; }

/* ---------- intestazione ---------- */
.top { border-bottom: 1px solid var(--pg-rule); }
.top .wrap { display: flex; align-items: center; gap: 28px; min-height: 88px; flex-wrap: wrap; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--pg-ink); }
.brand:hover { color: var(--pg-ink); }
.brand svg { width: 58px; height: 58px; flex: none; }
/* logotipo come nell'app: PEREGRINUS© maiuscolo spaziato ocra + motto */
.brand-name { display: flex; flex-direction: column; gap: 5px; line-height: 1.05; }
.brand-name b { font: 500 1.5rem/1 var(--wp--preset--font-family--label); letter-spacing: .16em; text-transform: uppercase; color: var(--pg-ochre); }
.brand-name sup { font-size: .5em; letter-spacing: 0; margin-left: 1px; position: relative; top: -.15em; }
.brand-name small { font: 300 .9rem/1.2 var(--wp--preset--font-family--body); color: var(--pg-muted); letter-spacing: .02em; }
@media (max-width: 520px) { .brand-name b { font-size: 1.25rem; } .brand-name small { font-size: .8rem; } }
.nav { display: flex; gap: 24px; align-items: center; margin-left: auto; flex-wrap: wrap; }
/* voci del menu in maiuscolo spaziato, come i pulsanti dell'app */
.nav > a:not(.btn) { color: var(--pg-text); text-decoration: none; font: 500 .9rem/1 var(--wp--preset--font-family--label); letter-spacing: .14em; text-transform: uppercase; padding: 6px 0; border-bottom: 1px solid transparent; }
.nav > a:not(.btn):hover { color: var(--pg-ochre-ink); }
.nav > a[aria-current="page"] { color: var(--pg-ochre-ink); border-bottom-color: currentColor; }
/* lingue a tendina */
.langsel { position: relative; font-size: .88rem; }
.langsel summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--pg-rule); border-radius: 2px; cursor: pointer; color: var(--pg-ink); user-select: none; }
.langsel summary::-webkit-details-marker { display: none; }
.langsel summary:hover { border-color: var(--pg-ochre); }
.langsel .caret { width: 10px; height: 6px; transition: transform .2s; }
.langsel[open] .caret { transform: rotate(180deg); }
.langsel ul { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 170px; margin: 0; padding: 6px; list-style: none; background: var(--pg-paper); border: 1px solid var(--pg-rule); border-radius: 2px; box-shadow: var(--pg-shadow); }
.langsel li a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; color: var(--pg-text); text-decoration: none; border-radius: 2px; }
.langsel li a:hover { background: var(--pg-vellum); color: var(--pg-ink); }
.langsel li a[aria-current="true"] { color: var(--pg-ochre-ink); font-weight: 700; }
.flag { display: block; width: 18px; height: 12px; border-radius: 1.5px; box-shadow: 0 0 0 1px rgba(46, 36, 25, .18); flex: none; }
.btn { display: inline-block; font: 700 1rem/1 var(--wp--preset--font-family--body); padding: 14px 22px; border-radius: 2px; text-decoration: none; border: 1px solid transparent; }
/* come i pulsanti nella pagina: stesso testo, carattere e misure */
.nav a.btn-main, .btn-main { background: var(--pg-ochre-ink); color: var(--pg-on-ochre); padding: 14px 22px; font: 700 1rem/1 var(--wp--preset--font-family--body); letter-spacing: 0; text-transform: none; border-radius: 2px; text-decoration: none; }
.nav a.btn-main:hover { background: var(--pg-ochre-hover); color: var(--pg-on-ochre); }

/* ---------- piè di pagina: fondo bruno con il bordo strappato, colonne, barra finale ---------- */
.pg-footer { margin-top: 0; }
.pgf { --pgf-bg: #2E2419; --pgf-text: #E6DCCB; --pgf-muted: #B4A68F; --pgf-head: #D19A1E; position: relative; margin-top: 0; background: var(--pgf-bg); color: var(--pgf-text); font-size: .95rem; }
.pgf::before { content: ""; position: absolute; left: 0; right: 0; top: -23px; height: 24px; background: var(--pgf-bg); -webkit-mask: url(assets/strappo.svg) no-repeat 0 0 / 100% 100%; mask: url(assets/strappo.svg) no-repeat 0 0 / 100% 100%; }
.pgf a { color: var(--pgf-text); text-decoration: none; }
.pgf a:hover { color: var(--pgf-head); }
.pgf-in { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px 48px; padding-top: 64px; padding-bottom: 56px; }
.pgf .brand { color: var(--pgf-text); }
.pgf .brand svg { width: 52px; height: 52px; }
.pgf .brand-name b { color: var(--pgf-head); }
.pgf .brand-name small { color: var(--pgf-muted); }
.pgf-brand p { margin: 20px 0 0; max-width: 26em; color: var(--pgf-muted); line-height: 1.6; }
.pgf-col h2 { margin: 6px 0 18px; font: 500 .82rem/1 var(--wp--preset--font-family--label); letter-spacing: .18em; text-transform: uppercase; color: var(--pgf-head); }
.pgf-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pgf-lingue a { display: inline-flex; align-items: center; gap: 10px; }
.pgf-lingue .flag { box-shadow: 0 0 0 1px rgba(255, 255, 255, .2); }
.pgf-bar { display: flex; justify-content: space-between; gap: 12px 32px; flex-wrap: wrap; padding-top: 22px; padding-bottom: 30px; border-top: 1px solid rgba(230, 220, 203, .16); color: var(--pgf-muted); font-size: .88rem; }
.pgf-bar p { margin: 0; }
@media (prefers-color-scheme: dark) { .pgf { --pgf-bg: #120E0A; } }
@media (max-width: 860px) { .pgf-in { grid-template-columns: 1fr 1fr; } .pgf-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .pgf-in { grid-template-columns: 1fr; gap: 32px; padding-top: 48px; } }

/* ---------- modulo di contatto ---------- */
.pg-form-wrap { max-width: 40em; }
.pg-form p { margin: 0 0 18px; }
.pg-form label { display: block; margin-bottom: 6px; font: 500 .82rem/1.2 var(--wp--preset--font-family--label); letter-spacing: .12em; text-transform: uppercase; color: var(--pg-ink); }
.pg-form .pg-cons label { font: 400 .95rem/1.5 var(--wp--preset--font-family--body); letter-spacing: 0; text-transform: none; color: var(--pg-text); display: flex; gap: 10px; align-items: flex-start; }
.pg-form .pg-cons input { margin-top: 4px; flex: none; }
.pg-form input[type=text], .pg-form input[type=email], .pg-form select, .pg-form textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; font: inherit; color: var(--pg-text); background: #fff; border: 1px solid var(--pg-rule); border-radius: 2px; }
.pg-form input:focus, .pg-form select:focus, .pg-form textarea:focus { outline: 2px solid var(--pg-ochre); outline-offset: 1px; border-color: var(--pg-ochre); }
.pg-form small { display: block; margin-top: 6px; color: var(--pg-muted); font-size: .88rem; }
.pg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.pg-req { color: #9B2D20; }
.pg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.pg-form button { cursor: pointer; }
.pg-form-msg { padding: 14px 16px; border-radius: 2px; margin: 0 0 24px; }
.pg-ok { background: #E8EFE4; color: #2F4A2A; border-left: 3px solid #5E7A57; }
.pg-err { background: #F6E3DF; color: #7A2318; border-left: 3px solid #9B2D20; }
@media (prefers-color-scheme: dark) { .pg-steps > .wp-block-column { background: #271F17; } }
@media (prefers-color-scheme: dark) { .pg-form input[type=text], .pg-form input[type=email], .pg-form select, .pg-form textarea { background: #271F17; } }
@media (max-width: 520px) { .pg-form-row { grid-template-columns: 1fr; } }

/* ---------- pagina iniziale: sezioni a tutta larghezza, testo nella colonna di 1120px ---------- */
.pg-front .pg-content > * { margin-block: 0; padding-inline: max(var(--pg-gutter), calc((100% - var(--pg-wide)) / 2)); }
.pg-hero { padding-top: 72px; padding-bottom: 28px; }
.pg-band { padding-top: 72px; padding-bottom: 72px; }
.pg-band + .pg-band { border-top: 1px solid var(--pg-rule); }
.pg-quiet { background: var(--pg-vellum); }
.pg-quiet p { max-width: 40em; font-size: 1.12rem; }
.pg-front h2 { margin: 0 0 40px; font-weight: 500; }
/* titolo di sezione con il filetto ocra, come nell'app */
.pg-band > h2::after { content: ""; display: block; width: 64px; height: 2px; margin-top: 16px; background: var(--pg-ochre); }

.pg-headline { margin: 0 0 30px; font: 500 clamp(2.9rem, 8.4vw, 6.4rem)/1.02 var(--wp--preset--font-family--display); letter-spacing: -.01em; }
/* titolo d'apertura: tetragramma rosso con chiave di Fa (notazione quadrata, terza riga), pentagramma con chiave di violino */
.pg-headline span { --g: 0.16em; position: relative; display: block; width: fit-content; min-width: min(4.2em, 100%); max-width: 100%; padding-bottom: 0.62em; background-repeat: no-repeat; background-position: 0 100%; }
.pg-headline .tetra { background-image: repeating-linear-gradient(to bottom, var(--pg-staff4) 0 1.5px, transparent 1.5px var(--g)); background-size: 100% calc(var(--g) * 3 + 1.5px); }
.pg-headline .penta { --g: 0.12em; margin-top: .08em; padding-bottom: 0.73em; background-image: repeating-linear-gradient(to bottom, var(--pg-staff5) 0 1.5px, transparent 1.5px var(--g)); background-size: 100% calc(var(--g) * 4 + 1.5px); }
.pg-headline span::before { content: ""; position: absolute; left: .05em; background: var(--pg-ink); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }
.pg-headline .tetra::before { -webkit-mask-image: url(assets/chiave-fa.svg); mask-image: url(assets/chiave-fa.svg); width: 0.1550em; height: 0.2669em; bottom: 0.1787em; }
.pg-headline .penta::before { -webkit-mask-image: url(assets/chiave-sol.svg); mask-image: url(assets/chiave-sol.svg); width: 0.3220em; height: 0.8430em; bottom: -0.1960em; left: .03em; }
@media (prefers-reduced-motion: no-preference) {
	.pg-headline .penta { animation: pg-rise .9s .15s both cubic-bezier(.2, .7, .2, 1); }
	@keyframes pg-rise { from { opacity: 0; transform: translateY(.18em); } to { opacity: 1; transform: none; } }
}
.pg-lead { max-width: 36em; font-size: 1.22rem; line-height: 1.6; margin: 0 0 30px; }
.pg-small { font-size: .92rem; color: var(--pg-muted); margin: 18px 0 0; }
.pg-hero .wp-block-buttons { gap: 14px; }
.pg-hero .pg-small { margin-top: 18px; }

/* originale e trascrizione, una sopra l'altra, come due pagine */
.pg-sheet { margin: 18px 0 0; background: #fff; box-shadow: var(--pg-shadow); border-radius: 2px; padding: clamp(14px, 3vw, 28px); }
.pg-hero .pg-sheet:first-of-type { margin-top: 44px; }
.pg-sheet img { display: block; width: 100%; }
.pg-sheet figcaption { margin: 10px 0 0; color: #6B6154; text-align: left; }

/* come funziona: tre passi numerati */
.pg-steps { counter-reset: pg-s; gap: 28px; }
.pg-steps > .wp-block-column { counter-increment: pg-s; position: relative; padding: 30px 28px 32px; background: #fff; border-top: 3px solid var(--pg-ochre); border-radius: 2px; box-shadow: var(--pg-shadow); }
.pg-steps > .wp-block-column::before { content: counter(pg-s, upper-roman); display: block; font: 600 1rem/1 var(--wp--preset--font-family--label); letter-spacing: .2em; color: var(--pg-ochre-ink); margin-bottom: 16px; }
.pg-steps h3 { margin: 0 0 12px; font: 600 1.75rem/1.15 var(--wp--preset--font-family--display); color: var(--pg-ink); }
.pg-steps p { margin: 0; color: var(--pg-text); }

/* che cosa riconosce */
.pg-reads { gap: 34px 56px; }
.pg-reads > .wp-block-group { padding-left: 20px; border-left: 3px solid var(--pg-ochre); }
.pg-reads h3 { margin: 0; font: 500 .9rem/1.2 var(--wp--preset--font-family--label); letter-spacing: .16em; text-transform: uppercase; color: var(--pg-ochre-ink); }
.pg-reads p { margin: 10px 0 0; font: 400 1.3rem/1.45 var(--wp--preset--font-family--display); color: var(--pg-ink); }

/* ---------- pagine di testo ---------- */
.pg-page { padding-top: 56px; padding-bottom: 80px; }
.pg-title { margin: 0 0 18px; }
.pg-page .pg-content > * { max-width: 42em; }
.pg-page .pg-content > :is(.pg-wide, .wp-block-columns, .wp-block-image, .pg-examples, .pg-toc, .wp-block-gallery, .alignwide, .alignfull) { max-width: none; }
.pg-intro { font-size: 1.2rem; max-width: 38em; margin: 0 0 40px; }
.pg-page .pg-content h2 { font-size: var(--wp--preset--font-size--x-large); margin: 52px 0 14px; scroll-margin-top: 16px; }
.pg-page .pg-content ul { padding-left: 1.2em; }
.pg-page .pg-content li { margin: 4px 0; }
.pg-toc { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 8px; padding: 0 !important; list-style: none; font-size: .98rem; }
.pg-toc li { margin: 0 !important; }
.pg-shot { margin: 24px 0 8px; box-shadow: var(--pg-shadow); border-radius: 2px; overflow: hidden; }
.pg-shot img { display: block; width: 100%; }
kbd { font: 600 .82em/1 var(--wp--preset--font-family--body); border: 1px solid var(--pg-rule); border-bottom-width: 2px; border-radius: 3px; padding: 2px 6px; background: var(--pg-paper); color: var(--pg-ink); }
.pg-rules table { border-collapse: collapse; width: 100%; }
.pg-rules :is(th, td) { text-align: left; padding: 10px 12px 10px 0; border: 0; border-bottom: 1px solid var(--pg-rule); vertical-align: top; }
.pg-rules th { font: 600 1.15rem/1.2 var(--wp--preset--font-family--display); color: var(--pg-ink); }
.pg-rules thead { border-bottom: 0; }
.pg-version { font-size: .92rem; color: var(--pg-muted); }

/* esempi */
.pg-examples { gap: 34px 28px; }
.pg-example { display: flex; flex-direction: column; gap: 0; }
.pg-example > * { margin-block: 0; }
.pg-thumb { margin: 0; background: #fff; box-shadow: var(--pg-shadow); border-radius: 2px; aspect-ratio: 210 / 150; overflow: hidden; }
.pg-thumb a, .pg-thumb img { display: block; width: 100%; height: 100%; }
.pg-thumb img { object-fit: cover; object-position: top center; }
.pg-example h3 { margin: 16px 0 2px; }
.pg-meta { color: var(--pg-muted); font-size: .93rem; margin: 0 0 10px !important; }
.pg-example .wp-block-buttons { gap: 10px; margin-top: auto; }
.pg-example .wp-block-button__link { font-size: .93rem; padding: 7px 12px; }

/* contatti */
.pg-cols { gap: 48px; }
.pg-mail { font: 500 1.6rem/1.2 var(--wp--preset--font-family--display); }
.pg-ph { background: #F6E3A9; color: #2E2419; padding: 0 .3em; border-radius: 2px; }

@media (max-width: 860px) {
	.pg-hero { padding-top: 44px; }
	.pg-band { padding-top: 52px; padding-bottom: 52px; }
}
@media (max-width: 520px) {
	.pg-lead { font-size: 1.1rem; }
}

/* ---------- menu su tablet e telefono: pulsante «hamburger» e pannello sotto la barra ---------- */
.burger, .langsel-m { display: none; }
@media (max-width: 1100px) {
	.top { position: relative; z-index: 40; background: var(--pg-paper); }
	.top .wrap { flex-wrap: nowrap; gap: 12px; min-height: 72px; }
	.brand { min-width: 0; margin-right: auto; }
	.brand svg { width: 46px; height: 46px; }
	.brand-name b { font-size: 1.3rem; }
	.langsel-d { display: none; }
	.langsel-m { display: block; }
	.burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0 11px; margin-right: -8px; background: none; border: 0; border-radius: 2px; cursor: pointer; color: var(--pg-ink); }
	.burger span { display: block; height: 2px; background: currentColor; border-radius: 1px; transition: transform .25s, opacity .2s; }
	.burger:focus-visible { outline: 2px solid var(--pg-ochre); }
	.top.is-open .burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.top.is-open .burger span:nth-child(2) { opacity: 0; }
	.top.is-open .burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	/* il pannello: voci una sotto l'altra, pulsante dell'app in fondo a tutta larghezza */
	.nav { position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 0; margin: 0; padding: 8px var(--pg-gutter) 24px; background: var(--pg-paper); border-bottom: 1px solid var(--pg-rule); box-shadow: 0 18px 30px -18px rgba(46, 36, 25, .35); }
	.pg-js .top:not(.is-open) .nav { display: none; }
	.nav > a:not(.btn) { padding: 16px 0; font-size: 1rem; border-bottom: 1px solid var(--pg-rule); }
	.nav > a[aria-current="page"] { border-bottom-color: var(--pg-rule); }
	.nav > a[aria-current="page"]::before { content: ""; display: inline-block; width: 14px; height: 1px; margin: 0 10px 0 0; vertical-align: middle; background: currentColor; }
	.nav a.btn-main { margin-top: 20px; text-align: center; padding: 16px 22px; }
	/* senza JavaScript il menu resta aperto, sotto il logo */
	html:not(.pg-js) .top .wrap { flex-wrap: wrap; }
	html:not(.pg-js) .nav { position: static; width: 100%; box-shadow: none; border: 0; padding: 0 0 16px; }
	html:not(.pg-js) .burger { display: none; }
	html:not(.pg-js) .langsel-d { display: block; margin-top: 16px; }
	html:not(.pg-js) .langsel-m { display: none; }
}
@media (max-width: 1100px) and (prefers-reduced-motion: no-preference) {
	.pg-js .top.is-open .nav { animation: pg-menu .22s ease-out; }
	@keyframes pg-menu { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 420px) {
	.brand { gap: 9px; }
	.brand svg { width: 40px; height: 40px; }
	.brand-name b { font-size: 1.1rem; letter-spacing: .12em; }
	.brand-name small { font-size: .74rem; }
}
/* la comparsa laterale dei contenuti non deve far scorrere la pagina di lato */
.pg-front { overflow-x: clip; }

/* comparsa progressiva nella pagina iniziale (attivata dallo script, mai se il visitatore preferisce meno animazioni) */
.pg-anim [data-pg-reveal] { opacity: 0; transition: opacity .9s cubic-bezier(.2, .7, .2, 1) var(--pg-d, 0s), transform .9s cubic-bezier(.2, .7, .2, 1) var(--pg-d, 0s); }
.pg-anim [data-pg-reveal="up"] { transform: translateY(26px); }
.pg-anim [data-pg-reveal="l"] { transform: translateX(-40px); }
.pg-anim [data-pg-reveal="r"] { transform: translateX(40px); }
.pg-anim [data-pg-reveal].pg-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
	.pg-headline .tetra { animation: pg-slide .9s both cubic-bezier(.2, .7, .2, 1); }
	.pg-headline .penta { animation-delay: .35s; }
	@keyframes pg-slide { from { opacity: 0; transform: translateX(-.25em); } to { opacity: 1; transform: none; } }
}

/* editor: le sezioni si vedono come sul sito */
.editor-styles-wrapper .pg-hero, .editor-styles-wrapper .pg-band { padding-inline: max(var(--pg-gutter), calc((100% - var(--pg-wide)) / 2)); }
.pg-firma { font: italic 500 1.4rem/1.3 var(--wp--preset--font-family--display); color: var(--pg-ink); margin-top: 28px; }
.pg-tech { margin: 0 0 22px; } .pg-tech .pg-form-row p { margin-bottom: 8px; } .pg-tech[hidden] { display: none; }
.pg-dona { margin: 28px 0 0; }
.pg-dona-widget { max-width: 494px; margin-top: 36px; }
/* GoFundMe: l'iframe è largo il 100% e attorno alla scheda resta un bordo bianco; lo restringo alla scheda */
.pg-dona-widget .gfm-embed-iframe { display: block; width: 100%; max-width: 494px; border: 0; background: transparent; }
