/* ==========================================================================
   Studio Legale Jaccheri - "Tuscan Juridical Prestige"
   Fonte: progetto Stitch "Studio Legale Jaccheri Redesign" (DESIGN.md)
   ========================================================================== */

:root {
	--j-navy: #0f1e36;          /* primary-container: titoli, header, footer */
	--j-navy-deep: #081120;
	--j-navy-surface: #162846;
	--j-gold: #c5a059;          /* accenti, filetti, hover */
	--j-gold-deep: #9e7b35;
	--j-gold-light: #e8d8b0;
	--j-gold-tint: rgba(197, 160, 89, .1);
	--j-burgundy: #8b3a3a;
	--j-canvas: #fbfbfa;        /* parchment-canvas */
	--j-muted: #f4f3ef;         /* parchment-muted */
	--j-white: #ffffff;
	--j-border: #e2dfd7;
	--j-input-border: #cbd5e1;
	--j-text: #334155;          /* slate-body */
	--j-text-strong: #1e293b;
	--j-text-muted: #64748b;
	--j-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--j-sans: 'Plus Jakarta Sans', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--j-radius: 4px;
	--j-radius-sm: 2px;
	--j-shadow-hover: 0 12px 32px -4px rgba(15, 30, 54, .06), 0 2px 6px rgba(197, 160, 89, .08);
	--j-max: 1280px;
}

/* ---------- Base ---------- */

html, body.jaccheri,
.jaccheri #main, .jaccheri .main_color,
.jaccheri .main_color .container_wrap {
	background-color: var(--j-canvas);
}

body.jaccheri,
.jaccheri .main_color,
.jaccheri .main_color p,
.jaccheri .main_color li,
.jaccheri .avia_textblock {
	font-family: var(--j-sans);
	font-size: 16px;
	line-height: 26px;
	color: var(--j-text);
}

.jaccheri .main_color strong, .jaccheri .main_color b { color: var(--j-text-strong); font-weight: 600; }

.jaccheri .container { max-width: var(--j-max); }

.jaccheri ::selection { background: var(--j-gold-light); color: var(--j-navy); }

/* ---------- Titoli ---------- */

.jaccheri h1, .jaccheri h2, .jaccheri h3, .jaccheri h4, .jaccheri h5, .jaccheri h6,
.jaccheri .av-special-heading-tag,
.jaccheri .main_color h1, .jaccheri .main_color h2, .jaccheri .main_color h3,
.jaccheri .main_color h4, .jaccheri .main_color h5, .jaccheri .main_color h6 {
	font-family: var(--j-serif);
	color: var(--j-navy);
	text-transform: none;
	letter-spacing: -.01em;
}

.jaccheri h1 { font-size: 56px; line-height: 68px; font-weight: 600; letter-spacing: -.02em; }
.jaccheri h2 { font-size: 40px; line-height: 48px; font-weight: 600; letter-spacing: -.015em; }
.jaccheri h3 { font-size: 28px; line-height: 36px; font-weight: 500; }
.jaccheri h4 { font-size: 22px; line-height: 30px; font-weight: 500; }
.jaccheri h5, .jaccheri h6 { font-size: 18px; line-height: 24px; font-weight: 600; letter-spacing: .02em; }

.jaccheri em, .jaccheri h1 em, .jaccheri h2 em { font-style: italic; }
.jaccheri h1 em, .jaccheri h2 em, .jaccheri .j-accent { color: var(--j-gold); }

/* Sopratitolo "etichetta" (es. AREE DI COMPETENZA) */
.jaccheri .j-overline,
.jaccheri .av-subheading,
.jaccheri .av-special-heading .av-subheading_above {
	font-family: var(--j-sans);
	font-size: 12px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--j-gold-deep);
	opacity: 1;
}

/* Filetto con puntino oro sotto i titoli speciali */
.jaccheri .special-heading-border .special-heading-inner-border { border-color: var(--j-border); opacity: 1; }

/* ---------- Link ---------- */

.jaccheri .main_color a { color: var(--j-navy); text-decoration: none; transition: color .2s; }
.jaccheri .main_color .avia_textblock a,
.jaccheri .main_color .entry-content a:not(.avia-button) {
	background-image: linear-gradient(var(--j-gold), var(--j-gold));
	background-size: 0 1px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size .3s ease, color .2s;
	border-bottom: 1px solid var(--j-gold-light);
}
.jaccheri .main_color .avia_textblock a:hover,
.jaccheri .main_color .entry-content a:not(.avia-button):hover {
	background-size: 100% 1px;
	color: var(--j-gold-deep);
	border-bottom-color: transparent;
}

/* ---------- Header ---------- */

.jaccheri .header_color .header_bg,
.jaccheri #header .header_bg {
	background: rgba(251, 251, 250, .88);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(197, 160, 89, .25);
}
.jaccheri #header_main { background: transparent; border-bottom: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.jaccheri.html_header_transparency #header:not(.header-scrolled) .header_bg { background: transparent; border-bottom-color: transparent; }

.jaccheri .header_color .main_menu ul:first-child > li > a,
.jaccheri .av-main-nav > li > a {
	font-family: var(--j-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--j-navy);
}
.jaccheri .header_color .main_menu ul:first-child > li > a:hover,
.jaccheri .av-main-nav > li.current-menu-item > a,
.jaccheri .av-main-nav > li.current_page_item > a { color: var(--j-gold-deep); }

.jaccheri .header_color .avia-menu-fx { background: var(--j-gold); height: 2px; }
.jaccheri .header_color .avia-menu-fx .avia-arrow-wrap { display: none; }

/* Sottomenu */
.jaccheri .header_color .sub-menu,
.jaccheri .header_color .avia_mega_div {
	background: var(--j-white);
	border: 1px solid var(--j-border);
	border-top: 2px solid var(--j-gold);
	box-shadow: var(--j-shadow-hover);
}
.jaccheri .header_color .sub-menu a { font-family: var(--j-sans); font-size: 14px; color: var(--j-text); }
.jaccheri .header_color .sub-menu a:hover { background: var(--j-muted); color: var(--j-navy); }

/* Voce di menu "Richiedi consulenza": aggiungere la classe CSS j-menu-cta alla voce */
.jaccheri .av-main-nav > li.j-menu-cta > a .avia-menu-text {
	display: inline-block;
	background: var(--j-navy);
	color: var(--j-canvas);
	padding: 12px 20px;
	border-radius: var(--j-radius);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
	border: 0;
	line-height: 1;
	transition: background .2s, box-shadow .2s;
}
.jaccheri .av-main-nav > li.j-menu-cta > a:hover .avia-menu-text {
	background: var(--j-navy-surface);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 0 0 3px rgba(197, 160, 89, .25);
}
.jaccheri .av-main-nav > li.j-menu-cta > a .avia-menu-fx { display: none; }

/* Logo testuale (se il logo e' testo) */
.jaccheri .logo a, .jaccheri .logo .subtext {
	font-family: var(--j-serif);
	color: var(--j-navy);
	letter-spacing: .04em;
}

/* Menu mobile (burger) */
.jaccheri .header_color .av-hamburger-inner,
.jaccheri .header_color .av-hamburger-inner::before,
.jaccheri .header_color .av-hamburger-inner::after { background-color: var(--j-navy); }
.jaccheri #av-burger-menu-ul { background: var(--j-canvas); }
.jaccheri #av-burger-menu-ul li a {
	font-family: var(--j-serif);
	font-size: 22px;
	color: var(--j-navy);
	border-color: var(--j-border);
}

/* ---------- Pulsanti ---------- */

.jaccheri .avia-button,
.jaccheri .main_color .avia-button,
.jaccheri input[type="submit"],
.jaccheri .button,
.jaccheri #submit {
	font-family: var(--j-sans);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-radius: var(--j-radius);
	background-color: var(--j-navy);
	border: 1px solid var(--j-navy);
	color: var(--j-canvas);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
	transition: background-color .2s, border-color .2s, box-shadow .2s, color .2s;
}
.jaccheri .avia-button:hover,
.jaccheri input[type="submit"]:hover,
.jaccheri .button:hover,
.jaccheri #submit:hover {
	background-color: var(--j-navy-surface);
	border-color: var(--j-navy-surface);
	color: var(--j-canvas);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 0 0 3px rgba(197, 160, 89, .25);
	opacity: 1;
}

/* Pulsante oro (colore "custom" o classe j-btn-gold) */
.jaccheri .avia-button.j-btn-gold,
.jaccheri .j-btn-gold .avia-button {
	background-color: var(--j-gold);
	border-color: var(--j-gold);
	color: var(--j-navy);
}
.jaccheri .avia-button.j-btn-gold:hover,
.jaccheri .j-btn-gold .avia-button:hover { background-color: var(--j-gold-deep); border-color: var(--j-gold-deep); color: var(--j-white); }

/* Pulsante secondario: bordo oro (colore "theme-color-subtle"/"silver" o classe j-btn-outline) */
.jaccheri .avia-button.avia-color-silver,
.jaccheri .avia-button.avia-color-theme-color-subtle,
.jaccheri .avia-button.j-btn-outline,
.jaccheri .j-btn-outline .avia-button {
	background-color: transparent;
	border: 1px solid var(--j-gold);
	color: var(--j-navy);
	box-shadow: none;
}
.jaccheri .avia-button.avia-color-silver:hover,
.jaccheri .avia-button.avia-color-theme-color-subtle:hover,
.jaccheri .avia-button.j-btn-outline:hover,
.jaccheri .j-btn-outline .avia-button:hover {
	background-color: var(--j-muted);
	border-color: var(--j-gold-deep);
	color: var(--j-navy);
	box-shadow: none;
}

/* Su sfondo blu (sezioni con classe j-dark) il pulsante outline diventa chiaro */
.jaccheri .j-dark .avia-button.avia-color-silver,
.jaccheri .j-dark .avia-button.j-btn-outline,
.jaccheri .j-dark .j-btn-outline .avia-button { color: var(--j-canvas); border-color: rgba(197, 160, 89, .6); }
.jaccheri .j-dark .avia-button.j-btn-outline:hover,
.jaccheri .j-dark .j-btn-outline .avia-button:hover { background: rgba(255, 255, 255, .06); color: var(--j-white); }

/* ---------- Sezioni ---------- */

.jaccheri .j-muted, .jaccheri .avia-section.j-muted { background-color: var(--j-muted); }

/* Sezione scura (hero, fascia contatti): classe j-dark sulla Color Section */
.jaccheri .avia-section.j-dark,
.jaccheri .j-dark {
	background-color: var(--j-navy);
	background-image: radial-gradient(ellipse at 85% 20%, rgba(22, 40, 70, .9) 0%, rgba(15, 30, 54, 0) 60%),
		linear-gradient(180deg, var(--j-navy) 0%, var(--j-navy-deep) 100%);
	color: rgba(251, 251, 250, .78);
}
.jaccheri .j-dark h1, .jaccheri .j-dark h2, .jaccheri .j-dark h3,
.jaccheri .j-dark h4, .jaccheri .j-dark h5, .jaccheri .j-dark h6,
.jaccheri .j-dark .av-special-heading-tag { color: var(--j-canvas); }
.jaccheri .j-dark p, .jaccheri .j-dark li, .jaccheri .j-dark .avia_textblock { color: rgba(251, 251, 250, .78); }
.jaccheri .j-dark a:not(.avia-button) { color: var(--j-gold-light); }
.jaccheri .j-dark .j-overline, .jaccheri .j-dark .av-subheading { color: var(--j-gold); }
.jaccheri .j-dark hr, .jaccheri .j-dark .hr-inner { border-color: rgba(197, 160, 89, .25); }

/* Hero */
.jaccheri .j-hero h1 { font-size: 56px; line-height: 68px; max-width: 16ch; }
.jaccheri .j-hero .avia_textblock p { font-size: 18px; line-height: 30px; max-width: 58ch; }

/* ---------- Card "fascicolo" (aree di attivita') ---------- */

.jaccheri .j-card,
.jaccheri .flex_column.j-card {
	background: var(--j-white);
	border: 1px solid var(--j-border);
	border-radius: var(--j-radius);
	padding: 36px;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s;
}
.jaccheri .j-card:hover,
.jaccheri .flex_column.j-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--j-shadow-hover);
	border-color: var(--j-gold-light);
}
.jaccheri .j-card--accent { border-top: 2px solid var(--j-gold); }
.jaccheri .j-card--navy { border-top: 2px solid var(--j-navy); }

.jaccheri .j-card .iconbox_icon,
.jaccheri .j-badge-icon,
.jaccheri .j-card .av_font_icon {
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: var(--j-radius-sm);
	background: var(--j-gold-tint);
	color: var(--j-gold-deep);
	font-size: 18px;
	text-align: center;
	border: 0;
}

.jaccheri .j-card ul { list-style: none; margin-left: 0; }
.jaccheri .j-card ul li { position: relative; padding-left: 18px; margin-bottom: 8px; font-size: 14px; line-height: 22px; }
.jaccheri .j-card ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--j-gold);
}

/* Chip / badge */
.jaccheri .j-chip {
	display: inline-block;
	font-family: var(--j-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--j-gold-deep);
	background: var(--j-gold-tint);
	border-radius: var(--j-radius-sm);
	padding: 4px 10px;
}

/* Elenco numerato "fasi" (attivita' giudiziali/stragiudiziali) */
.jaccheri ol.j-steps { counter-reset: j; list-style: none; margin-left: 0; }
.jaccheri ol.j-steps > li { counter-increment: j; position: relative; padding: 10px 0 10px 44px; border-bottom: 1px solid var(--j-border); }
.jaccheri ol.j-steps > li::before {
	content: counter(j);
	position: absolute;
	left: 0;
	top: 10px;
	width: 26px;
	height: 26px;
	line-height: 26px;
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	border-radius: var(--j-radius-sm);
	background: var(--j-gold-tint);
	color: var(--j-gold-deep);
}

/* Citazione */
.jaccheri blockquote,
.jaccheri .main_color blockquote {
	font-family: var(--j-serif);
	font-style: italic;
	font-size: 20px;
	line-height: 32px;
	color: var(--j-navy);
	border-left: 2px solid var(--j-gold);
	background: var(--j-white);
	padding: 20px 24px;
}

/* Separatori */
.jaccheri .hr .hr-inner,
.jaccheri .main_color .hr-inner { border-color: var(--j-border); }
.jaccheri .hr-short .hr-inner-style { border-color: var(--j-gold); background: var(--j-canvas); }

/* ---------- Moduli ---------- */

.jaccheri input[type="text"], .jaccheri input[type="email"], .jaccheri input[type="tel"],
.jaccheri input[type="search"], .jaccheri input[type="url"], .jaccheri select, .jaccheri textarea,
.jaccheri .main_color input[type="text"], .jaccheri .main_color input[type="email"],
.jaccheri .main_color input[type="tel"], .jaccheri .main_color select, .jaccheri .main_color textarea {
	font-family: var(--j-sans);
	font-size: 15px;
	background: var(--j-white);
	border: 1px solid var(--j-input-border);
	border-radius: var(--j-radius);
	color: var(--j-text-strong);
	padding: 12px 14px;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.jaccheri input:focus, .jaccheri select:focus, .jaccheri textarea:focus {
	border-color: var(--j-navy);
	box-shadow: 0 0 0 2px rgba(197, 160, 89, .3);
	outline: none;
}
.jaccheri .avia_ajax_form label,
.jaccheri .comment-form label {
	font-family: var(--j-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--j-text-strong);
}

/* ---------- Articoli / News ---------- */

.jaccheri .post-entry .post-title,
.jaccheri .slide-entry-title,
.jaccheri .av-magazine-title {
	font-family: var(--j-serif);
	color: var(--j-navy);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
}
.jaccheri .post-meta-infos, .jaccheri .slide-meta, .jaccheri .av-magazine-time {
	font-family: var(--j-sans);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--j-text-muted);
}
.jaccheri .avia-content-slider .slide-entry,
.jaccheri .av-magazine-entry {
	background: var(--j-white);
	border: 1px solid var(--j-border);
	border-radius: var(--j-radius);
	padding: 24px;
	transition: transform .25s, box-shadow .25s;
}
.jaccheri .avia-content-slider .slide-entry:hover,
.jaccheri .av-magazine-entry:hover { transform: translateY(-2px); box-shadow: var(--j-shadow-hover); }

.jaccheri .single-big .entry-content-wrapper,
.jaccheri .single-post .entry-content { max-width: 760px; }

/* Barra titolo pagina */
.jaccheri .title_container {
	background: var(--j-muted);
	border-bottom: 1px solid var(--j-border);
}
.jaccheri .title_container .main-title,
.jaccheri .title_container .main-title a {
	font-family: var(--j-serif);
	font-size: 28px;
	color: var(--j-navy);
	text-transform: none;
}
.jaccheri .title_container .breadcrumb,
.jaccheri .title_container .breadcrumb a { font-size: 12px; letter-spacing: .06em; color: var(--j-text-muted); }

/* Sidebar */
.jaccheri .sidebar .widgettitle {
	font-family: var(--j-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--j-gold-deep);
	border-bottom: 1px solid var(--j-border);
	padding-bottom: 10px;
}

/* ---------- Footer e socket ---------- */

.jaccheri #footer,
.jaccheri .footer_color {
	background: var(--j-navy-deep);
	border-top: 1px solid rgba(197, 160, 89, .25);
	color: rgba(251, 251, 250, .7);
}
.jaccheri .footer_color .widgettitle,
.jaccheri .footer_color h3, .jaccheri .footer_color h4 {
	font-family: var(--j-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--j-gold);
	border: 0;
}
.jaccheri .footer_color, .jaccheri .footer_color p, .jaccheri .footer_color li, .jaccheri .footer_color span { color: rgba(251, 251, 250, .7); font-size: 14px; line-height: 22px; }
.jaccheri .footer_color a { color: var(--j-canvas); }
.jaccheri .footer_color a:hover { color: var(--j-gold); }
.jaccheri .footer_color .widget li { border-color: rgba(255, 255, 255, .08); }

.jaccheri #socket,
.jaccheri .socket_color {
	background: var(--j-navy-deep);
	border-top: 1px solid rgba(255, 255, 255, .08);
	color: rgba(251, 251, 250, .5);
	font-size: 12px;
}
.jaccheri .socket_color a, .jaccheri .socket_color span { color: rgba(251, 251, 250, .6); }
.jaccheri .socket_color a:hover { color: var(--j-gold); }

/* Torna su */
.jaccheri #scroll-top-link {
	background: var(--j-navy);
	color: var(--j-gold);
	border: 1px solid rgba(197, 160, 89, .4);
	border-radius: var(--j-radius);
}

/* ---------- Pulsanti nel testo (j-btn) ---------- */

.jaccheri a.j-btn,
.jaccheri .main_color a.j-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 26px;
	margin: 0 12px 12px 0;
	font-family: var(--j-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1;
	border-radius: var(--j-radius);
	border: 1px solid var(--j-navy);
	background: var(--j-navy);
	color: var(--j-canvas);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
	background-image: none;
	transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}
.jaccheri a.j-btn:hover { background-color: var(--j-navy-surface); border-color: var(--j-navy-surface); color: var(--j-canvas); }
.jaccheri a.j-btn--gold, .jaccheri .main_color a.j-btn--gold { background: var(--j-gold); border-color: var(--j-gold); color: var(--j-navy); }
.jaccheri a.j-btn--gold:hover, .jaccheri .main_color a.j-btn--gold:hover { background: var(--j-gold-light); border-color: var(--j-gold-light); color: var(--j-navy); }
.jaccheri a.j-btn--outline, .jaccheri .main_color a.j-btn--outline { background: transparent; border-color: var(--j-gold); color: var(--j-navy); box-shadow: none; }
.jaccheri a.j-btn--outline:hover, .jaccheri .main_color a.j-btn--outline:hover { background: var(--j-muted); border-color: var(--j-gold-deep); color: var(--j-navy); }
.jaccheri .j-dark a.j-btn--outline { color: var(--j-canvas); border-color: rgba(197, 160, 89, .6); }
.jaccheri .j-dark a.j-btn--outline:hover { background: rgba(255, 255, 255, .06); color: var(--j-white); }

/* Link "freccia" */
.jaccheri .j-link a {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--j-navy);
}
.jaccheri .j-link a::after { content: " →"; color: var(--j-gold); }

/* ---------- Sezioni costruite col Layout Builder ---------- */

.jaccheri .avia-section.j-section > .container > .content,
.jaccheri .avia-section.j-section .template-page { padding-top: 96px; padding-bottom: 96px; }
.jaccheri .avia-section.j-muted { background-color: var(--j-muted); border-top: 1px solid var(--j-border); border-bottom: 1px solid var(--j-border); }

.jaccheri .j-section-head { text-align: center; max-width: 720px; margin: 0 auto 48px; }
.jaccheri .j-section-head h2 { margin-bottom: 12px; }
.jaccheri .j-section-head p:last-child { color: var(--j-text-muted); }
.jaccheri .j-section-head::after {
	content: "";
	display: block;
	width: 56px;
	height: 1px;
	margin: 24px auto 0;
	background: var(--j-gold);
}

/* ---------- Hero ---------- */

.jaccheri .avia-section.j-hero > .container > .content,
.jaccheri .avia-section.j-hero .template-page { padding-top: 120px; padding-bottom: 0; }
.jaccheri .j-hero .j-hero-text h1 { color: var(--j-canvas); max-width: 18ch; margin: 18px 0 24px; }
.jaccheri .j-hero .j-hero-text h1 em { color: var(--j-gold); }
.jaccheri .j-hero .j-lead { font-size: 18px; line-height: 30px; max-width: 60ch; color: rgba(251, 251, 250, .78); }
.jaccheri .j-hero .j-actions { margin-top: 36px; }
.jaccheri .j-hero .j-overline { color: var(--j-gold); display: flex; align-items: center; gap: 14px; }
.jaccheri .j-hero .j-overline::before { content: ""; width: 32px; height: 1px; background: var(--j-gold); }

.jaccheri ul.j-features {
	list-style: none;
	margin: 88px 0 0;
	padding: 36px 0 44px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	border-top: 1px solid rgba(197, 160, 89, .25);
}
.jaccheri ul.j-features li { margin: 0; padding-left: 18px; border-left: 1px solid rgba(197, 160, 89, .5); }
.jaccheri ul.j-features strong { display: block; font-family: var(--j-serif); font-size: 18px; font-weight: 500; color: var(--j-canvas); margin-bottom: 6px; }
.jaccheri ul.j-features span { display: block; font-size: 14px; line-height: 22px; color: rgba(251, 251, 250, .6); }

/* ---------- Lo Studio ---------- */

.jaccheri .j-studio-card { background: var(--j-muted); }
.jaccheri .j-studio-card h3 { font-size: 24px; line-height: 32px; margin: 14px 0; }
.jaccheri .j-studio-card blockquote { margin: 24px 0 0; font-size: 17px; line-height: 28px; }
.jaccheri .j-studio-text { padding-left: 24px; }
.jaccheri .j-studio-text h2 { margin: 12px 0 24px; }

/* ---------- Card aree ---------- */

.jaccheri .j-area { margin-bottom: 32px; }
.jaccheri .j-area-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.jaccheri .j-numeral {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border-radius: var(--j-radius-sm);
	background: var(--j-navy);
	color: var(--j-gold);
	font-family: var(--j-serif);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .04em;
}
.jaccheri .j-area h3, .jaccheri .j-area h4 { margin-bottom: 10px; }
.jaccheri .j-area p { color: var(--j-text); }
.jaccheri .j-card ul.j-cols { columns: 2; column-gap: 28px; }
.jaccheri .j-card ul.j-cols li { break-inside: avoid; }

/* Colonne a tutta altezza (equal height) senza sfondi di Enfold */
.jaccheri .flex_column_table .flex_column.j-card { vertical-align: top; }

/* ---------- Fasi ---------- */

.jaccheri ol.j-steps > li { font-size: 15px; line-height: 23px; margin: 0; }
.jaccheri ol.j-steps > li:last-child { border-bottom: 0; }
.jaccheri ol.j-steps--alpha > li::before { content: counter(j, upper-alpha); background: var(--j-navy); color: var(--j-gold); }
.jaccheri .j-card--navy .j-overline, .jaccheri .j-card--accent .j-overline { margin-bottom: 4px; }

/* ---------- Contatti ---------- */

.jaccheri ul.j-contact-list { list-style: none; margin: 32px 0 0; }
.jaccheri ul.j-contact-list li {
	margin: 0;
	padding: 16px 0;
	border-top: 1px solid var(--j-border);
	font-size: 15px;
	line-height: 24px;
	color: var(--j-text-strong);
}
.jaccheri ul.j-contact-list li span {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--j-gold-deep);
	margin-bottom: 2px;
}
.jaccheri .j-contact-info { padding-right: 24px; }
.jaccheri .j-form-card { border-top: 2px solid var(--j-navy); }
.jaccheri .j-form-card h3 { margin-bottom: 6px; }
.jaccheri .j-form-card .avia_ajax_form { margin-top: 12px; }
.jaccheri .avia_ajax_form .form_element_checkbox label { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 400; color: var(--j-text); }
.jaccheri .avia_ajax_form .button { width: 100%; padding: 16px; }

/* ---------- Specificita': regole di Enfold da superare ---------- */

#top.jaccheri .template-page .entry-content-wrapper h1,
#top.jaccheri .template-page .entry-content-wrapper h2,
#top.jaccheri .template-page .entry-content-wrapper h3,
#top.jaccheri .template-page .entry-content-wrapper h4 { text-transform: none; }
#top.jaccheri .template-page .entry-content-wrapper h1 { letter-spacing: -.02em; }
#top.jaccheri .template-page .entry-content-wrapper h2 { letter-spacing: -.015em; }

#top.jaccheri .main_color p.j-overline { color: var(--j-gold-deep); }
#top.jaccheri .j-dark p.j-overline { color: var(--j-gold); }

#top.jaccheri .flex_column.j-card--accent { border-top: 2px solid var(--j-gold); }
#top.jaccheri .flex_column.j-card--navy { border-top: 2px solid var(--j-navy); }

#top.jaccheri .avia_ajax_form input[type="text"],
#top.jaccheri .avia_ajax_form input[type="email"],
#top.jaccheri .avia_ajax_form input[type="tel"],
#top.jaccheri .avia_ajax_form select,
#top.jaccheri .avia_ajax_form textarea {
	background: var(--j-white);
	border: 1px solid var(--j-input-border);
	border-radius: var(--j-radius);
	color: var(--j-text-strong);
}
#top.jaccheri .avia_ajax_form input:focus,
#top.jaccheri .avia_ajax_form textarea:focus {
	border-color: var(--j-navy);
	box-shadow: 0 0 0 2px rgba(197, 160, 89, .3);
}
#top.jaccheri .avia_ajax_form .form_element_checkbox label,
#top.jaccheri .avia_ajax_form label.input_checkbox_label {
	text-transform: none;
	letter-spacing: 0;
	font-size: 13px;
	font-weight: 400;
	color: var(--j-text);
}
#top.jaccheri .avia_ajax_form input[type="submit"],
#top.jaccheri .avia_ajax_form .button {
	width: 100%;
	padding: 16px;
	background: var(--j-navy);
	border: 1px solid var(--j-navy);
	color: var(--j-canvas);
	opacity: 1;
}
#top.jaccheri .avia_ajax_form input[type="submit"]:hover { background: var(--j-navy-surface); }
#top.jaccheri .avia_ajax_form input[type="submit"][disabled],
#top.jaccheri .avia_ajax_form .avia-button-inactive { opacity: .55; cursor: not-allowed; }

/* Etichette dell'elenco contatti e dei punti forti (span con classe: TinyMCE elimina gli span nudi) */
.jaccheri .j-label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--j-gold-deep);
	margin-bottom: 2px;
}
.jaccheri ul.j-features .j-desc { display: block; font-size: 14px; line-height: 22px; color: rgba(251, 251, 250, .6); }

/* ---------- Responsive ---------- */

@media only screen and (max-width: 1023px) {
	.jaccheri h1, .jaccheri .j-hero h1 { font-size: 44px; line-height: 54px; }
	.jaccheri h2 { font-size: 34px; line-height: 42px; }
}

@media only screen and (max-width: 767px) {
	.jaccheri h1, .jaccheri .j-hero h1 { font-size: 36px; line-height: 44px; letter-spacing: -.01em; }
	.jaccheri h2 { font-size: 28px; line-height: 36px; }
	.jaccheri h3 { font-size: 24px; line-height: 32px; }
	.jaccheri .j-card, .jaccheri .flex_column.j-card { padding: 24px; }
	.jaccheri .responsive .container { padding-left: 20px; padding-right: 20px; }
	.jaccheri .avia-section.j-section > .container > .content,
	.jaccheri .avia-section.j-section .template-page { padding-top: 64px; padding-bottom: 64px; }
	.jaccheri .avia-section.j-hero > .container > .content,
	.jaccheri .avia-section.j-hero .template-page { padding-top: 72px; }
	.jaccheri ul.j-features { grid-template-columns: 1fr; gap: 20px; margin-top: 56px; }
	.jaccheri .j-card ul.j-cols { columns: 1; }
	.jaccheri .j-studio-text, .jaccheri .j-contact-info { padding-left: 0; padding-right: 0; }
	.jaccheri a.j-btn { width: 100%; justify-content: center; margin-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.jaccheri *, .jaccheri *::before, .jaccheri *::after { transition: none !important; }
	.jaccheri .j-card:hover, .jaccheri .slide-entry:hover { transform: none; }
}

/* ---------- Header: logo con nome, menu compatto ---------- */

.jaccheri .logo a { display: flex; align-items: center; gap: 14px; }
#top.jaccheri .logo img { width: auto; height: 56px; max-height: 56px !important; }
.jaccheri .logo .subtext { display: block; position: static; margin: 0; padding: 0; }
.jaccheri .j-logo-text { display: flex; flex-direction: column; line-height: 1.15; white-space: nowrap; }
.jaccheri .j-logo-name {
	font-family: var(--j-serif);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--j-navy);
}
.jaccheri .j-logo-addr {
	margin-top: 5px;
	font-family: var(--j-sans);
	font-size: 11px;
	letter-spacing: .04em;
	color: var(--j-text-muted);
}

#top.jaccheri .av-main-nav > li > a { padding-left: 9px; padding-right: 9px; font-size: 12px; letter-spacing: .07em; }
#top.jaccheri .av-main-nav > li.j-menu-cta > a { padding-right: 4px; }

@media only screen and (max-width: 1239px) {
	.jaccheri .logo .subtext { display: none; }
}
@media only screen and (max-width: 1100px) {
	#top.jaccheri .av-main-nav > li > a { padding-left: 6px; padding-right: 6px; }
}

/* ---------- Footer a tre colonne (widget HTML) ---------- */

#top.jaccheri #footer { padding: 72px 0 48px; }
#top.jaccheri #footer .widget { margin-bottom: 24px; }
#top.jaccheri #footer .widgettitle { margin-bottom: 18px; }
.jaccheri .j-foot-name {
	font-family: var(--j-serif);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--j-canvas) !important;
	margin-bottom: 14px;
}
.jaccheri .j-foot-brand p { max-width: 34ch; }
.jaccheri .j-foot-legal { margin-top: 18px; font-size: 12px !important; color: rgba(251, 251, 250, .45) !important; }
.jaccheri ul.j-foot-links, .jaccheri ul.j-foot-contacts { list-style: none; margin: 0; }
.jaccheri ul.j-foot-links li, .jaccheri ul.j-foot-contacts li { margin: 0 0 12px; padding: 0; border: 0; }
.jaccheri ul.j-foot-links a { color: rgba(251, 251, 250, .82); }
.jaccheri ul.j-foot-links a:hover, .jaccheri ul.j-foot-contacts a:hover { color: var(--j-gold); }
#top.jaccheri #socket .container { padding-top: 18px; padding-bottom: 18px; }
#top.jaccheri #socket .copyright { font-size: 12px; letter-spacing: .02em; }

/* ---------- Pagine interne ---------- */

.jaccheri .avia-section.j-hero--page > .container > .content,
.jaccheri .avia-section.j-hero--page .template-page { padding-top: 96px; padding-bottom: 88px; }
.jaccheri .j-hero--page .j-hero-text h1 { max-width: 22ch; }

/* Fascia finale di invito al contatto */
.jaccheri .avia-section.j-cta > .container > .content,
.jaccheri .avia-section.j-cta .template-page { padding-top: 80px; padding-bottom: 72px; }
.jaccheri .j-cta-text { text-align: center; max-width: 680px; margin: 0 auto; }
.jaccheri .j-cta-text h2 { color: var(--j-canvas); margin-bottom: 12px; }
.jaccheri .j-cta-text .j-actions { margin-top: 28px; }
.jaccheri .j-cta-text a.j-btn { margin-left: 6px; margin-right: 6px; }

/* Persone */
.jaccheri .j-person { margin-bottom: 32px; }
.jaccheri .j-person-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.jaccheri .j-person .j-numeral { font-size: 14px; letter-spacing: .08em; }
.jaccheri .j-person h3, .jaccheri .j-person h4 { margin-bottom: 8px; }
.jaccheri .j-card ul.j-person-contacts { margin-top: 18px; }
.jaccheri .j-card ul.j-person-contacts li { padding-left: 0; margin-bottom: 10px; font-size: 14px; word-break: break-word; }
.jaccheri .j-card ul.j-person-contacts li::before { display: none; }
.jaccheri .j-person--lead ul.j-person-contacts { display: flex; flex-wrap: wrap; gap: 8px 40px; }

/* Righe delle aree di attivita' */
.jaccheri .j-area-row { margin-bottom: 24px; }
.jaccheri .j-area-row--muted { background: var(--j-muted); }
.jaccheri .j-area-grid { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: 40px; align-items: start; }
.jaccheri .j-area-grid h2 { font-size: 28px; line-height: 36px; font-weight: 500; margin: 0; }
.jaccheri .j-area-grid p:last-child { margin-bottom: 0; }

/* Come raggiungerci */
.jaccheri .j-howto-item { display: flex; gap: 18px; padding: 18px 0; border-top: 1px solid var(--j-border); }
.jaccheri .j-howto-item:first-of-type { border-top: 0; padding-top: 6px; }
.jaccheri .j-howto-item h4 { margin: 4px 0 6px; font-size: 20px; line-height: 28px; }
.jaccheri .j-howto-item p { margin: 0; }
.jaccheri .j-howto-item .j-numeral { flex: 0 0 auto; }

@media only screen and (max-width: 767px) {
	.jaccheri .avia-section.j-hero--page > .container > .content,
	.jaccheri .avia-section.j-hero--page .template-page { padding-top: 56px; padding-bottom: 56px; }
	.jaccheri .j-area-grid { grid-template-columns: 1fr; gap: 16px; }
	.jaccheri .j-area-grid h2 { font-size: 24px; line-height: 32px; }
	.jaccheri .j-cta-text a.j-btn { margin-left: 0; margin-right: 0; }
}

/* Spaziatura uniforme tra card: niente margin-top automatico di Enfold sulle righe successive */
#top.jaccheri .flex_column.j-card { margin-top: 0; margin-bottom: 24px; }
#top.jaccheri .j-section .flex_column_table { margin-top: 0; margin-bottom: 24px; }
#top.jaccheri .j-section .flex_column_table .flex_column.j-card { margin-bottom: 0; }
#top.jaccheri .flex_column.j-area-row--muted { background: var(--j-muted); }
.jaccheri .j-card ul.j-contact-list li { padding-left: 0; }
.jaccheri .j-card ul.j-contact-list li::before { display: none; }

/* ---------- News, archivi e articoli ---------- */

.jaccheri .j-page-band {
	background-color: var(--j-navy);
	background-image: radial-gradient(ellipse at 85% 20%, rgba(22, 40, 70, .9) 0%, rgba(15, 30, 54, 0) 60%),
		linear-gradient(180deg, var(--j-navy) 0%, var(--j-navy-deep) 100%);
	padding: 72px 0 64px;
}
.jaccheri .j-page-band .j-overline { color: var(--j-gold); display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.jaccheri .j-page-band .j-overline::before { content: ""; width: 32px; height: 1px; background: var(--j-gold); }
.jaccheri .j-page-band .j-page-band-title {
	font-family: var(--j-serif);
	font-size: 48px;
	line-height: 58px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--j-canvas);
	margin: 0 0 14px;
}
.jaccheri .j-page-band .j-lead { font-size: 18px; line-height: 30px; max-width: 60ch; color: rgba(251, 251, 250, .78); margin: 0; }
.jaccheri .j-page-band .j-band-back { margin: 18px 0 0; }
.jaccheri .j-page-band .j-band-back a { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--j-gold-light); }
.jaccheri .j-page-band .j-band-back a:hover { color: var(--j-gold); }
.jaccheri.single-post .j-page-band { padding: 40px 0 36px; }
.jaccheri.single-post .j-page-band .j-page-band-title { font-size: 26px; line-height: 34px; margin: 0; }

#top.jaccheri .widget_recent_entries li a,
#top.jaccheri .recentcomments a {
	font-family: var(--j-serif);
	font-style: normal;
	font-size: 15px;
	line-height: 22px;
	color: var(--j-navy);
}
#top.jaccheri .widget_recent_entries li a:hover { color: var(--j-gold-deep); }
#top.jaccheri .sidebar .widget li { border-color: var(--j-border); }

#top.jaccheri .post-entry .entry-content,
#top.jaccheri .post-entry .entry-content p { font-size: 16px; line-height: 28px; color: var(--j-text); }
#top.jaccheri .single-post .post-title,
#top.jaccheri .post-entry h2.post-title { font-size: 26px; line-height: 34px; }
#top.jaccheri .post-entry .read-more-link a,
#top.jaccheri .more-link {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--j-navy);
	border: 1px solid var(--j-gold);
	border-radius: var(--j-radius);
	padding: 8px 14px;
	background: transparent;
}
#top.jaccheri .post-entry .read-more-link a:hover,
#top.jaccheri .more-link:hover { background: var(--j-muted); border-color: var(--j-gold-deep); }

@media only screen and (max-width: 767px) {
	.jaccheri .j-page-band { padding: 48px 0 44px; }
	.jaccheri .j-page-band .j-page-band-title { font-size: 34px; line-height: 42px; }
}

/* Scheda della titolare con foto */
.jaccheri .j-person-lead-grid { display: grid; grid-template-columns: 200px 1fr; gap: 36px; align-items: start; }
.jaccheri .j-person-lead-grid > p:first-child { margin: 0; }
.jaccheri img.j-person-photo {
	display: block;
	width: 200px;
	height: 250px;
	object-fit: cover;
	border-radius: var(--j-radius);
	border: 1px solid var(--j-border);
	box-shadow: 0 0 0 6px var(--j-muted);
}
@media only screen and (max-width: 767px) {
	.jaccheri .j-person-lead-grid { grid-template-columns: 1fr; gap: 20px; }
	.jaccheri img.j-person-photo { width: 160px; height: 200px; }
}

/* Mappa (OpenStreetMap, senza cookie) */
.jaccheri .j-map-frame {
	position: relative;
	height: 440px;
	border: 1px solid var(--j-border);
	border-radius: var(--j-radius);
	overflow: hidden;
	background: var(--j-white);
}
.jaccheri .j-map-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.jaccheri .j-map-link { margin: 12px 0 0; font-size: 13px; color: var(--j-text-muted); }
@media only screen and (max-width: 767px) {
	.jaccheri .j-map-frame { height: 320px; }
}
