/*
Theme Name: Studio Sangiovanni
Template: twentytwentyfive
Description: Tema figlio di Twenty Twenty-Five per lo Studio Commerciale Dott. Sangiovanni. Design sobrio: Instrument Serif e Jost, bianco, nero e grigi.
Version: 1.0.3
Requires at least: 6.7
Text Domain: sangiovanni
*/

body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * { margin-block-start: 0; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 24px; }

/* ---------- elementi ricorrenti ---------- */
.sg-eyebrow,
.sg-label h2,
.sg-addr-label {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #5E5E5E;
	line-height: 1.6;
}

/* ---------- intestazione ---------- */
.sg-header { padding: 0 clamp(20px, 5vw, 72px); }
.sg-header-inner {
	max-width: 1056px;
	margin: 0 auto;
	min-height: 96px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 48px;
	padding: 18px 0;
	box-sizing: border-box;
}
.sg-header-inner > * { margin: 0; }
.sg-wordmark { margin: 0; line-height: 1.1; }
.sg-wordmark a { text-decoration: none; color: #1C1C1C; display: inline-flex; flex-direction: column; gap: 6px; }
.sg-wordmark a br { display: none; }
.sg-wordmark .sg-wm-top { font-size: 10px; font-weight: 400; letter-spacing: 0.36em; text-transform: uppercase; color: #5E5E5E; }
.sg-wordmark .sg-wm-name { font-size: 18px; font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase; }
.sg-nav .wp-block-navigation__container,
.sg-nav.wp-block-navigation { gap: clamp(18px, 3vw, 40px); }
.sg-nav .wp-block-navigation-item__content {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 0;
	color: #1C1C1C;
}
.sg-nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 6px; }
.sg-nav .wp-block-navigation__container { column-gap: clamp(14px, 3vw, 40px); row-gap: 0; }
@media (max-width: 520px) {
	.sg-header-inner { gap: 4px 24px; padding: 14px 0 6px; min-height: 0; }
	.sg-nav .wp-block-navigation__container { column-gap: 16px; }
	.sg-nav .wp-block-navigation-item__content { font-size: 11px; letter-spacing: 0.1em; }
}

/* ---------- foto e apertura della home ---------- */
.sg-hero-img { margin: 0; }
.sg-hero-img img { display: block; width: 100%; height: clamp(260px, 40vw, 580px); object-fit: cover; }

.sg-hero {
	padding: clamp(56px, 8vw, 120px) clamp(20px, 5vw, 72px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	text-align: center;
}
.sg-hero > * { margin: 0 auto; max-width: 860px; }
.sg-hero .sg-eyebrow { letter-spacing: 0.32em; }
.sg-hero h1 {
	font-size: clamp(42px, 6.2vw, 92px);
	line-height: 1.02;
	letter-spacing: -0.01em;
}
.sg-motto {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(21px, 2.2vw, 30px);
	line-height: 1.3;
	color: #3A3A3A;
}
.sg-hero .sg-rule {
	width: 40px;
	border: 0;
	border-top: 1px solid #1C1C1C;
	opacity: 1;
	background: none;
}
.sg-services {
	max-width: 720px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 2;
	text-transform: uppercase;
	color: #5E5E5E;
	text-wrap: balance;
}
.sg-cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 16px 32px;
	margin-top: 12px !important;
}
.sg-cta.sg-cta-left { justify-content: flex-start; margin-top: 0 !important; }
.sg-cta .wp-block-button { margin: 0; }
.sg-cta .wp-block-button__link { display: inline-flex; align-items: center; min-height: 52px; box-sizing: border-box; }
.sg-cta .sg-link .wp-block-button__link {
	background: none;
	color: #1C1C1C;
	padding: 0;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: none;
	text-decoration: underline;
	text-underline-offset: 7px;
	text-decoration-thickness: 1px;
}
.sg-cta .sg-link.sg-caps .wp-block-button__link { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; }
.sg-cta .sg-link .wp-block-button__link:hover { background: none; color: #000; text-decoration: none; }

/* ---------- sezioni numerate ---------- */
.sg-section { padding: 0 clamp(20px, 5vw, 72px); }
.sg-section-inner {
	max-width: 1056px;
	margin: 0 auto;
	border-top: 1px solid #DEDCD7;
	padding: clamp(48px, 7vw, 96px) 0 clamp(64px, 9vw, 128px);
	display: flex;
	flex-wrap: wrap;
	gap: 28px 64px;
}
.sg-section-inner > * { margin: 0; }
.sg-label { flex: 1 1 220px; display: flex; align-items: baseline; gap: 14px; align-self: flex-start; }
.sg-label > * { margin: 0; }
.sg-num { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 22px; line-height: 1; color: #1C1C1C; }
.sg-body { flex: 3 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.sg-body > * { margin: 0; }
.sg-lead p, p.sg-lead { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.65; text-wrap: pretty; }

.sg-list { gap: 0; }
.sg-item { display: flex; gap: 20px; padding: 26px 0; border-bottom: 1px solid #DEDCD7; }
.sg-item:last-child { border-bottom: 0; }
.sg-item > * { margin: 0; }
.sg-item .sg-n { flex: 0 0 32px; font-size: 12px; font-weight: 400; letter-spacing: 0.12em; color: #5E5E5E; padding-top: 9px; }
.sg-item .sg-txt { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.sg-item .sg-txt > * { margin: 0; }
.sg-item h3 { font-size: clamp(23px, 2vw, 28px); line-height: 1.2; }
.sg-item p { font-size: 16px; color: #5E5E5E; text-wrap: pretty; }

.sg-name { font-family: var(--wp--preset--font-family--serif); font-size: clamp(32px, 3vw, 42px); line-height: 1.1; }
.sg-creds { list-style: none; padding: 0; margin: 0; border-top: 1px solid #DEDCD7; }
.sg-creds li { padding: 14px 0; border-bottom: 1px solid #DEDCD7; font-size: 16px; line-height: 1.5; margin: 0; }

/* ---------- contatti ---------- */
.sg-contact { background: #F4F4F2; }
.sg-contact .sg-section-inner { border-top: 0; padding: clamp(64px, 9vw, 128px) 0; }
.sg-contact .sg-body { gap: 48px; }
.sg-big, .sg-mail { margin: 0; font-family: var(--wp--preset--font-family--serif); line-height: 1.15; }
.sg-big { font-size: clamp(32px, 3.6vw, 52px); }
.sg-big a { text-decoration: none; }
.sg-reach { display: flex; flex-direction: column; gap: 10px; }
.sg-reach > * { margin: 0; }
.sg-mail { font-size: clamp(22px, 2.4vw, 34px); overflow-wrap: anywhere; }
.sg-mail a { text-underline-offset: 8px; text-decoration-thickness: 1px; }
.sg-addr { display: flex; flex-wrap: wrap; gap: 32px 64px; }
.sg-addr > * { margin: 0; flex: 1 1 200px; display: flex; flex-direction: column; gap: 8px; }
.sg-addr > * > * { margin: 0; }
.sg-addr p:not(.sg-addr-label) { font-size: 17px; line-height: 1.5; }

/* ---------- piè di pagina ---------- */
.sg-footer { padding: 0 clamp(20px, 5vw, 72px); }
.sg-footer-inner {
	max-width: 1056px;
	margin: 0 auto;
	padding: 32px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 32px;
	border-top: 1px solid #DEDCD7;
}
.sg-contact + .sg-footer .sg-footer-inner,
.sg-footer-inner > * { margin: 0; }
.sg-footer-inner p { font-size: 12px; font-weight: 400; letter-spacing: 0.12em; color: #5E5E5E; }
.sg-footer-inner p.sg-eyebrow { letter-spacing: 0.24em; }

/* ---------- pagine interne e articoli ---------- */
.sg-page { padding: clamp(56px, 8vw, 112px) clamp(20px, 5vw, 72px) clamp(64px, 9vw, 128px); }
.sg-page-inner { max-width: 720px; margin: 0 auto; }
.sg-page-inner > * { margin-block-start: 0; }
.sg-page-head { display: flex; flex-direction: column; gap: 20px; margin-bottom: clamp(40px, 5vw, 64px); }
.sg-page-head > * { margin: 0; }
.sg-page-head h1 { font-size: clamp(40px, 5vw, 72px); line-height: 1.05; }
.sg-page-head .sg-rule { width: 40px; border: 0; border-top: 1px solid #1C1C1C; opacity: 1; margin: 8px 0 0; background: none; }

.sg-content { font-size: 18px; line-height: 1.75; }
.sg-content > * + * { margin-block-start: 1.2em; }
.sg-content h2 { font-size: clamp(28px, 3vw, 36px); margin-block-start: 1.8em; }
.sg-content h3 { font-size: clamp(22px, 2vw, 26px); margin-block-start: 1.6em; }
.sg-content strong, .sg-content b { font-weight: 500; }
.sg-content img { max-width: 100%; height: auto; }
.sg-content ul, .sg-content ol { padding-left: 1.2em; }

.sg-posts { list-style: none; padding: 0; margin: 0; border-top: 1px solid #DEDCD7; }
.sg-posts > li { margin: 0; }
.sg-post { padding: 32px 0; border-bottom: 1px solid #DEDCD7; display: flex; flex-direction: column; gap: 10px; }
.sg-post > * { margin: 0; }
.sg-date { font-size: 12px; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; color: #5E5E5E; }
.sg-post h2 { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.15; }
.sg-post h2 a { text-decoration: none; }
.sg-post h2 a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.sg-post .wp-block-post-excerpt__excerpt { font-size: 16px; color: #5E5E5E; margin: 0; }
.sg-post .wp-block-post-excerpt__more-text { display: none; }
.sg-pagination { margin-top: 40px; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; }
.sg-back { margin-top: clamp(48px, 6vw, 80px) !important; padding-top: 32px; border-top: 1px solid #DEDCD7; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; }
.sg-back a { text-decoration: none; }
