/*
Theme Name:   Banche Roma Child
Theme URI:    https://www.banche.roma.it/
Description:  Child theme editoriale per Banche.Roma.it basato su GeneratePress. Palette blu istituzionale con accenti finance, display serif su H1, ottimizzato per AdSense Auto Ads e Core Web Vitals.
Author:       banche.roma.it
Author URI:   https://www.banche.roma.it/
Template:     generatepress
Version:      1.4.3
Text Domain:  banche-roma-child
*/

/* ============================================================
 * Design tokens — palette istituzionale + accenti finance
 * ============================================================ */
:root {
	/* Primary blu istituzionale */
	--br-c-primary: #0C447C;
	--br-c-primary-hover: #093259;
	--br-c-accent: #378ADD;
	--br-c-accent-hover: #1F6EBF;
	--br-c-accent-soft: #E8F1FB;
	--br-c-grad-primary: linear-gradient(135deg, #0C447C 0%, #1F6EBF 100%);
	--br-c-grad-hero: linear-gradient(135deg, #0a1f36 0%, #0C447C 60%, #1F6EBF 100%);

	/* Finance semantic (trend, tassi, indicatori) */
	--br-c-positive: #00875A;
	--br-c-positive-soft: #E6F4EE;
	--br-c-negative: #C8322F;
	--br-c-negative-soft: #FBECEC;
	--br-c-warning: #B8620B;
	--br-c-warning-soft: #FBF0DF;

	/* Backgrounds (carta, leggermente più freddi/neutri) */
	--br-c-bg: #FFFFFF;
	--br-c-bg-alt: #F7F8FA;
	--br-c-bg-muted: #FAFBFC;
	--br-c-bg-dark: #0a1f36;

	/* Borders */
	--br-c-border: #E4E7EB;
	--br-c-border-strong: #CFD6DE;

	/* Text */
	--br-c-text: #1A1A1A;
	--br-c-text-muted: #555A62;
	--br-c-text-subtle: #7A8089;
	--br-c-text-on-primary: #FFFFFF;

	/* Typography */
	--br-font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	--br-font-heading: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	--br-font-display: 'Source Serif 4', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
	--br-font-numeric: 'Inter', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

	/* Radius */
	--br-radius-sm: 4px;
	--br-radius-md: 8px;
	--br-radius-lg: 12px;
	--br-radius-pill: 999px;

	/* Spacing */
	--br-space-1: 8px;
	--br-space-2: 16px;
	--br-space-3: 24px;
	--br-space-4: 32px;
	--br-space-5: 48px;
	--br-space-6: 64px;
	--br-space-7: 80px;

	/* Shadows */
	--br-shadow-xs: 0 1px 2px rgba(12,68,124,.04);
	--br-shadow-sm: 0 2px 6px rgba(12,68,124,.06);
	--br-shadow-md: 0 6px 18px rgba(12,68,124,.08);
	--br-shadow-lg: 0 16px 40px rgba(12,68,124,.12);

	/* Layout */
	--br-container: 1200px;
	--br-read-width: 720px;

	/* Motion */
	--br-trans: 0.18s cubic-bezier(.2,.6,.2,1);
}

/* ============================================================
 * Base
 * ============================================================ */
body {
	font-family: var(--br-font-body);
	color: var(--br-c-text);
	background: var(--br-c-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'ss01', 'cv11';
	line-height: 1.65;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.widget-title {
	font-family: var(--br-font-heading);
	color: var(--br-c-text);
	letter-spacing: -0.01em;
	line-height: 1.25;
}

h1, .entry-title,
h2, .entry-title {
	font-feature-settings: 'ss01';
}

h1, .entry-title { font-weight: 700; }
h2 { font-weight: 600; }
h3, h4, h5, h6 { font-weight: 600; }

/* Display serif su titoli articolo (editorial/finance signal) */
.single .entry-header .entry-title,
.page .entry-header .entry-title,
.home .page-header h1,
.archive .page-header h1,
body.error404 h1 {
	font-family: var(--br-font-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

a {
	color: var(--br-c-accent);
	text-decoration: none;
	text-underline-offset: 2px;
	transition: color var(--br-trans);
}
a:hover, a:focus {
	color: var(--br-c-accent-hover);
	text-decoration: underline;
}

/* GP layout / container */
.site-content,
.inside-article,
.inside-page-header,
.site-footer .inside-site-info {
	max-width: var(--br-container);
}

/* Reading width per articoli */
.single .entry-content,
.page .entry-content {
	max-width: var(--br-read-width);
	margin-left: auto;
	margin-right: auto;
}
.single .entry-content > .alignwide,
.single .entry-content > .alignfull,
.single .entry-content > figure,
.single .entry-content > .wp-block-image {
	max-width: none;
}

/* Numeric tabular dove serve: tabelle tassi, stat, badge data */
.entry-content table td,
.entry-content table th,
.br-stat-value,
.br-rate,
.br-updated-badge strong {
	font-variant-numeric: tabular-nums;
}

/* ============================================================
 * Header
 * ============================================================ */
.site-header {
	background: var(--br-c-bg);
	border-bottom: 1px solid var(--br-c-border);
	box-shadow: var(--br-shadow-xs);
}
.inside-header {
	padding-top: var(--br-space-2);
	padding-bottom: var(--br-space-2);
	position: relative; /* ancora posizione assoluta del language switcher */
}

/* ------------------------------------------------------------
 * Language switcher (IT | EN) — angolo in alto a destra dell'header.
 * Testo compatto, pattern editoriale (niente bandiere), active in grassetto.
 * ------------------------------------------------------------ */
.br-lang-switcher {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 600 12px/1 'Inter', system-ui, sans-serif;
	letter-spacing: 0.06em;
	z-index: 5;
}
.br-lang-item {
	display: inline-block;
	padding: 5px 7px;
	color: var(--br-c-text-muted);
	text-decoration: none;
	border-radius: var(--br-radius-sm, 3px);
	transition: color var(--br-trans, .15s), background var(--br-trans, .15s);
}
.br-lang-item:hover,
.br-lang-item:focus-visible {
	color: var(--br-c-primary);
	background: var(--br-c-accent-soft);
	text-decoration: none;
}
.br-lang-current {
	color: var(--br-c-primary);
	background: var(--br-c-accent-soft);
	font-weight: 700;
	cursor: default;
}
.br-lang-sep {
	color: var(--br-c-border);
	user-select: none;
}
.br-lang-no-trans {
	opacity: 0.55; /* pagina non tradotta — link ridirezionerà alla home EN */
}

@media (max-width: 768px) {
	.br-lang-switcher {
		right: 12px;
		font-size: 11px;
		gap: 4px;
	}
	.br-lang-item { padding: 4px 6px; }
}

.main-navigation {
	background: var(--br-c-bg-alt);
	border-top: 1px solid var(--br-c-border);
	border-bottom: 1px solid var(--br-c-border);
	box-shadow: var(--br-shadow-xs);
}
.main-navigation .main-nav ul li a {
	color: var(--br-c-text);
	background: transparent;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	padding: 14px 18px;
	transition: color var(--br-trans), box-shadow var(--br-trans), background var(--br-trans);
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-parent > a {
	color: var(--br-c-primary);
	background: transparent;
	box-shadow: inset 0 -2px 0 var(--br-c-primary);
}

/* Sub-menu: dropdown bianco con ombra, testo scuro esplicito per battere
   eventuali default di GP Customizer che renderebbero il testo bianco. */
.main-navigation .main-nav ul ul,
.main-navigation .sub-menu {
	background: #ffffff !important;
	border: 1px solid var(--br-c-border) !important;
	border-radius: var(--br-radius-md);
	box-shadow: var(--br-shadow-md);
	padding: 6px 0;
	overflow: hidden;
	min-width: 230px;
}
.main-navigation .main-nav ul ul li,
.main-navigation .sub-menu li {
	background: #ffffff !important;
}
.main-navigation .main-nav ul ul li a,
.main-navigation .sub-menu li a {
	color: var(--br-c-text) !important;
	background: #ffffff !important;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 500;
	box-shadow: none !important;
}
.main-navigation .main-nav ul ul li a:hover,
.main-navigation .main-nav ul ul li a:focus,
.main-navigation .main-nav ul ul li.current-menu-item > a,
.main-navigation .main-nav ul ul li.current-menu-ancestor > a,
.main-navigation .sub-menu li a:hover,
.main-navigation .sub-menu li a:focus,
.main-navigation .sub-menu li.current-menu-item > a {
	color: var(--br-c-primary) !important;
	background: var(--br-c-accent-soft) !important;
	box-shadow: inset 3px 0 0 var(--br-c-accent) !important;
}

/* Logo: SVG scalato piu' grande, width in auto rispetta aspect ratio */
.site-logo img,
.header-image img {
	height: 64px;
	width: auto;
	max-height: 72px;
	display: block;
}
@media (max-width: 768px) {
	.site-logo img,
	.header-image img {
		height: 52px;
		max-height: 60px;
	}
}
.banche-roma-logo a { display: inline-flex; align-items: center; }

/* Il wordmark "Banche a Roma" è già dentro il nostro SVG: nascondiamo
   .site-branding (site-title + tagline) se adiacente al nostro logo, per
   evitare ripetizione testuale sotto il marchio. */
.banche-roma-logo + .site-branding,
.banche-roma-logo ~ .site-branding { display: none; }

/* Page header (archivi / ricerca) più marcato, stile finance */
.page-header,
.page-header-default {
	background: var(--br-c-bg-alt);
	border-bottom: 1px solid var(--br-c-border);
	padding: var(--br-space-4) 0;
	margin-bottom: var(--br-space-4);
}
.page-header .page-title,
.page-header-default h1 {
	color: var(--br-c-primary);
	margin: 0;
}

/* Breadcrumb custom del child */
.br-breadcrumb {
	font-size: 13px;
	color: var(--br-c-text-muted);
	padding: var(--br-space-2) 0 var(--br-space-1);
	letter-spacing: 0.01em;
}
.br-breadcrumb a { color: var(--br-c-text-muted); }
.br-breadcrumb a:hover { color: var(--br-c-primary); }
.br-breadcrumb span { color: var(--br-c-text); }

/* ============================================================
 * Archive / card
 * ============================================================ */
.generate-columns-container .generate-columns .inside-article,
.blog .site-main article .inside-article,
.archive .site-main article .inside-article,
.search-results .site-main article .inside-article {
	background: var(--br-c-bg);
	border: 1px solid var(--br-c-border);
	border-radius: var(--br-radius-lg);
	padding: var(--br-space-3);
	box-shadow: var(--br-shadow-xs);
	transition: box-shadow var(--br-trans), border-color var(--br-trans), transform var(--br-trans);
}
.generate-columns-container .generate-columns .inside-article:hover,
.blog .site-main article .inside-article:hover,
.archive .site-main article .inside-article:hover {
	border-color: var(--br-c-accent);
	box-shadow: var(--br-shadow-md);
	transform: translateY(-2px);
}

.entry-meta,
.posted-on,
.byline,
.cat-links,
.tag-links {
	font-size: 12.5px;
	color: var(--br-c-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 500;
}

.entry-meta a { color: var(--br-c-text-muted); }
.entry-meta a:hover { color: var(--br-c-primary); text-decoration: none; }

/* Category pills negli archivi */
.cat-links a,
.entry-meta .cat-links a {
	display: inline-block;
	padding: 2px 10px;
	background: var(--br-c-accent-soft);
	color: var(--br-c-primary);
	border-radius: var(--br-radius-pill);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-right: 4px;
}
.cat-links a:hover {
	background: var(--br-c-primary);
	color: #fff;
	text-decoration: none;
}

.entry-header .entry-title {
	font-size: clamp(22px, 2.4vw, 30px);
	margin-bottom: 8px;
}
.entry-header .entry-title a { color: var(--br-c-text); }
.entry-header .entry-title a:hover { color: var(--br-c-primary); text-decoration: none; }

/* Featured image archive */
.featured-image img,
.post-image img {
	border-radius: var(--br-radius-md);
}

/* ============================================================
 * Single article
 * ============================================================ */
.single .entry-header {
	padding-bottom: var(--br-space-3);
	border-bottom: 1px solid var(--br-c-border);
	margin-bottom: var(--br-space-4);
}
.single .entry-header .entry-title {
	font-size: clamp(28px, 3.8vw, 44px);
	margin-bottom: var(--br-space-2);
}
.single .entry-meta { margin-bottom: var(--br-space-3); }

.entry-content p { margin: 0 0 var(--br-space-2); }

/* Lead paragraph più grande (primo <p> dopo titolo) */
.single .entry-content > p:first-of-type {
	font-size: 19px;
	line-height: 1.55;
	color: var(--br-c-text);
	margin-bottom: var(--br-space-3);
}

.entry-content h2 {
	margin-top: var(--br-space-5);
	margin-bottom: var(--br-space-2);
	font-size: clamp(22px, 2.4vw, 28px);
	border-left: 4px solid var(--br-c-primary);
	padding-left: 14px;
	scroll-margin-top: 80px;
}
.entry-content h3 {
	margin-top: var(--br-space-4);
	margin-bottom: var(--br-space-1);
	font-size: clamp(18px, 1.8vw, 22px);
	color: var(--br-c-primary);
}

.entry-content ul,
.entry-content ol { padding-left: 22px; margin-bottom: var(--br-space-2); }
.entry-content li { margin-bottom: 6px; }

.entry-content blockquote {
	border-left: 4px solid var(--br-c-accent);
	background: var(--br-c-bg-alt);
	padding: var(--br-space-2) var(--br-space-3);
	margin: var(--br-space-3) 0;
	font-style: normal;
	color: var(--br-c-text);
	border-radius: 0 var(--br-radius-md) var(--br-radius-md) 0;
}
.entry-content blockquote p:last-child { margin-bottom: 0; }

/* Tabelle (tassi, confronti, schede) — stile finance */
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--br-space-3) 0;
	font-size: 15px;
	background: var(--br-c-bg);
	border: 1px solid var(--br-c-border);
	border-radius: var(--br-radius-md);
	overflow: hidden;
	box-shadow: var(--br-shadow-xs);
}
.entry-content table th,
.entry-content table td {
	border-bottom: 1px solid var(--br-c-border);
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
}
.entry-content table tr:last-child th,
.entry-content table tr:last-child td { border-bottom: 0; }
.entry-content table th {
	background: var(--br-c-grad-primary);
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.02em;
	font-size: 13.5px;
	text-transform: uppercase;
}
.entry-content table tbody tr:nth-child(even) { background: var(--br-c-bg-alt); }
.entry-content table tbody tr:hover { background: var(--br-c-accent-soft); }

/* Colonne numeriche (TAN/TAEG/importi): se marchiate con classe o ultimi td */
.entry-content table td:last-child,
.entry-content table .numeric,
.entry-content table .num {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 500;
}
.entry-content table th:last-child { text-align: right; }

.entry-content hr {
	border: 0;
	height: 1px;
	background: var(--br-c-border);
	margin: var(--br-space-4) 0;
}

/* Box editoriale (riutilizza banche-roma-avviso e scheda-2026 già nei post) */
.entry-content .banche-roma-avviso,
.entry-content .banche-roma-scheda-2026 {
	border-left: 4px solid var(--br-c-primary) !important;
	background: var(--br-c-bg-alt) !important;
	padding: var(--br-space-2) var(--br-space-3) !important;
	border-radius: 0 var(--br-radius-md) var(--br-radius-md) 0;
	box-shadow: var(--br-shadow-xs);
	margin-bottom: var(--br-space-3) !important;
}
.entry-content .banche-roma-avviso p,
.entry-content .banche-roma-scheda-2026 p { margin: 0 0 10px; }
.entry-content .banche-roma-avviso p:last-child,
.entry-content .banche-roma-scheda-2026 p:last-child { margin-bottom: 0; }

/* Badge "Aggiornato al" emesso da functions.php */
.br-updated-badge {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	background: var(--br-c-accent-soft) !important;
	border-left: 3px solid var(--br-c-accent) !important;
	color: var(--br-c-primary) !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
	border-radius: 0 var(--br-radius-sm) var(--br-radius-sm) 0 !important;
	margin-bottom: var(--br-space-3) !important;
}
.br-updated-badge::before {
	content: '●';
	color: var(--br-c-positive);
	font-size: 9px;
}

/* ============================================================
 * Componenti finance
 * ============================================================ */

/* Stat block — numero grande + label */
.br-stat {
	display: grid;
	gap: 4px;
	padding: var(--br-space-2) var(--br-space-3);
	background: var(--br-c-bg);
	border: 1px solid var(--br-c-border);
	border-radius: var(--br-radius-md);
	box-shadow: var(--br-shadow-xs);
}
.br-stat-value {
	font-family: var(--br-font-numeric);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	color: var(--br-c-primary);
	line-height: 1.1;
}
.br-stat-label {
	font-size: 12.5px;
	color: var(--br-c-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.br-stat-trend {
	font-size: 13px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.br-stat-trend.is-up    { color: var(--br-c-positive); }
.br-stat-trend.is-down  { color: var(--br-c-negative); }
.br-stat-trend.is-flat  { color: var(--br-c-text-muted); }

.br-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--br-space-2);
	margin: var(--br-space-3) 0;
}

/* Rate cell inline (es. "TAN 3,45%") */
.br-rate {
	font-family: var(--br-font-numeric);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--br-c-primary);
}
.br-rate.is-positive { color: var(--br-c-positive); }
.br-rate.is-negative { color: var(--br-c-negative); }

/* Hero CTA (per homepage / landing) */
.br-hero {
	background: var(--br-c-grad-hero);
	color: #fff;
	padding: var(--br-space-6) var(--br-space-3);
	border-radius: var(--br-radius-lg);
	margin: 0 0 var(--br-space-4);
	text-align: left;
	position: relative;
	overflow: hidden;
}
.br-hero h1, .br-hero h2 {
	color: #fff;
	font-family: var(--br-font-display);
	font-size: clamp(28px, 4vw, 44px);
	margin: 0 0 var(--br-space-2);
	max-width: 720px;
}
.br-hero p {
	color: rgba(255,255,255,0.85);
	font-size: 18px;
	max-width: 640px;
	margin: 0 0 var(--br-space-3);
}
.br-hero .wp-block-button__link,
.br-hero .button,
.br-hero .br-cta {
	background: #fff;
	color: var(--br-c-primary);
}
.br-hero .wp-block-button__link:hover,
.br-hero .button:hover {
	background: var(--br-c-accent-soft);
	color: var(--br-c-primary-hover);
}

/* ============================================================
 * Sidebar / widgets
 * ============================================================ */
.sidebar .widget,
.widget {
	background: var(--br-c-bg);
	border: 1px solid var(--br-c-border);
	border-radius: var(--br-radius-lg);
	padding: var(--br-space-3);
	margin-bottom: var(--br-space-3);
	box-shadow: var(--br-shadow-xs);
}
.sidebar .widget .widget-title,
.widget .widget-title {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--br-c-primary);
	margin-bottom: var(--br-space-2);
	padding-bottom: var(--br-space-1);
	border-bottom: 2px solid var(--br-c-primary);
	display: inline-block;
}
.sidebar .widget ul,
.widget ul { list-style: none; padding: 0; margin: 0; }
.sidebar .widget li,
.widget li { padding: 8px 0; border-bottom: 1px dotted var(--br-c-border); }
.sidebar .widget li:last-child,
.widget li:last-child { border-bottom: none; }

.sidebar .widget a,
.widget a {
	color: var(--br-c-text);
}
.sidebar .widget a:hover,
.widget a:hover {
	color: var(--br-c-primary);
	text-decoration: none;
}

/* Tag cloud */
.tagcloud a {
	display: inline-block;
	padding: 4px 10px;
	margin: 2px;
	background: var(--br-c-bg-alt);
	border-radius: var(--br-radius-pill);
	font-size: 12px !important;
	color: var(--br-c-text-muted) !important;
}
.tagcloud a:hover { background: var(--br-c-primary); color: #fff !important; text-decoration: none; }

/* Sticky sidebar widgets su desktop: tengono in vista rail ads + widget
   finché l'articolo scorre. Evita sticky su mobile (viewport piccolo). */
@media (min-width: 1025px) {
	.sidebar {
		align-self: start;
	}
	.sidebar .widget.br-sticky,
	.sidebar .widget.widget_block:last-child {
		position: sticky;
		top: 90px;
	}
}

/* ============================================================
 * Footer
 * ============================================================ */
.site-footer {
	background: var(--br-c-bg-dark);
	color: rgba(255,255,255,0.85);
	padding: var(--br-space-5) 0 var(--br-space-3);
	margin-top: var(--br-space-6);
	position: relative;
}
.site-footer::before {
	content: '';
	display: block;
	height: 3px;
	background: var(--br-c-grad-primary);
	position: absolute;
	top: 0; left: 0; right: 0;
}
.site-footer a { color: #ffffff; }
.site-footer a:hover { color: #c9dcf2; }
.site-footer .widget-title {
	color: #fff;
	border-bottom-color: rgba(255,255,255,0.2);
}
.site-footer .widget {
	background: transparent;
	border: none;
	padding: 0;
	box-shadow: none;
}
.site-footer .widget li {
	border-bottom-color: rgba(255,255,255,0.1);
}
.site-footer .widget a { color: rgba(255,255,255,0.85); }
.site-footer .widget a:hover { color: #fff; }

.site-info {
	border-top: 1px solid rgba(255,255,255,0.12);
	padding-top: var(--br-space-2);
	margin-top: var(--br-space-3);
	font-size: 13px;
	color: rgba(255,255,255,0.7);
	line-height: 1.7;
}
.site-info .inside-site-info .copyright-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
	justify-content: center;
	text-align: center;
}
@media (min-width: 769px) {
	.site-info .inside-site-info .copyright-bar {
		justify-content: flex-start;
		text-align: left;
	}
}

/* Link legali nel footer (iniettati da functions.php) */
.br-footer-legal {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0 10px;
	align-items: center;
}
.br-footer-legal a {
	color: rgba(255,255,255,0.85);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(255,255,255,0.3);
}
.br-footer-legal a:hover {
	color: #fff;
	text-decoration-color: #fff;
}
.br-footer-legal-sep,
.br-footer-legal-divider {
	color: rgba(255,255,255,0.4);
	margin: 0 4px;
}

.br-footer-owner {
	display: inline;
	color: rgba(255,255,255,0.78);
}
.br-footer-owner a {
	color: rgba(255,255,255,0.92);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(255,255,255,0.35);
}
.br-footer-owner a:hover {
	color: #fff;
	text-decoration-color: #fff;
}
.br-footer-owner-sep {
	color: rgba(255,255,255,0.4);
	margin: 0 2px;
}

.br-footer-append {
	flex: 1 1 100%;
	width: 100%;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,0.1);
	text-align: left;
}
.site-info .inside-site-info .copyright-bar .br-footer-append {
	justify-content: flex-start;
}
.br-footer-topline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
	justify-content: center;
	margin-bottom: 2px;
}
@media (min-width: 769px) {
	.br-footer-topline {
		justify-content: flex-start;
	}
}
.br-footer-disclaimer {
	margin: 0;
	font-size: 12px;
	line-height: 1.55;
	color: rgba(255,255,255,0.62);
	max-width: 56rem;
}
.br-footer-disclaimer-mail {
	color: rgba(255,255,255,0.88) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: rgba(255,255,255,0.35);
}
.br-footer-disclaimer-mail:hover {
	color: #fff !important;
	text-decoration-color: #fff;
}

/* ============================================================
 * Breadcrumb (Yoast / Rank Math)
 * ============================================================ */
.rank-math-breadcrumb,
.breadcrumbs,
#breadcrumbs {
	font-size: 13px;
	color: var(--br-c-text-muted);
	margin-bottom: var(--br-space-2);
	letter-spacing: 0.01em;
}

/* ============================================================
 * Pulsanti / CTA
 * ============================================================ */
.wp-block-button__link,
.button,
button,
input[type="submit"] {
	background: var(--br-c-grad-primary);
	color: var(--br-c-text-on-primary);
	border: none;
	padding: 11px 22px;
	border-radius: var(--br-radius-md);
	font-weight: 600;
	font-family: var(--br-font-body);
	font-size: 15px;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: transform var(--br-trans), box-shadow var(--br-trans), filter var(--br-trans);
	text-decoration: none;
	display: inline-block;
	box-shadow: var(--br-shadow-sm);
}
.wp-block-button__link:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: var(--br-shadow-md);
	filter: brightness(1.05);
}

/* Outline variant */
.wp-block-button.is-style-outline .wp-block-button__link,
.button.is-outline {
	background: transparent;
	color: var(--br-c-primary);
	border: 1.5px solid var(--br-c-primary);
	box-shadow: none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.button.is-outline:hover {
	background: var(--br-c-primary);
	color: #fff;
}

/* ============================================================
 * Search
 * ============================================================ */
.search-form input[type="search"] {
	padding: 10px 14px;
	border: 1px solid var(--br-c-border);
	border-radius: var(--br-radius-md);
	background: var(--br-c-bg);
	font-family: var(--br-font-body);
}
.search-form input[type="search"]:focus {
	outline: none;
	border-color: var(--br-c-primary);
	box-shadow: 0 0 0 3px rgba(12,68,124,.15);
}

/* ============================================================
 * AdSense — Auto Ads optimization
 *
 * Obiettivi:
 *  1. zero CLS: riservare spazio verticale decente quando Google inietta
 *  2. massima viewability: margin generosi attorno agli slot in-article,
 *     sidebar widget sticky per rail ads, nessun lazy-load aggressivo sui
 *     primi 2 schermi.
 *  3. rispetto delle policy: etichetta "Pubblicità" discreta su slot
 *     manuali (br-ad-slot).
 * ============================================================ */
.adsbygoogle {
	display: block;
	margin: var(--br-space-4) auto;
	max-width: 100%;
	text-align: center;
	overflow: hidden;
}

/* In-article: spazio extra prima/dopo i placeholder Google così che l'algo
   possa scegliere formati anche grandi senza accavallarsi al testo. */
.entry-content .adsbygoogle,
.entry-content ins.adsbygoogle {
	margin: var(--br-space-4) 0;
	clear: both;
}

/* Slot manuale con etichetta: <div class="br-ad-slot"><ins class="adsbygoogle"...></ins></div> */
.br-ad-slot {
	margin: var(--br-space-4) 0;
	padding: var(--br-space-1) 0;
	text-align: center;
}
.br-ad-slot::before {
	content: 'Pubblicità';
	display: block;
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--br-c-text-subtle);
	margin-bottom: 6px;
}
.br-ad-slot .adsbygoogle {
	margin: 0 auto;
	min-height: 120px; /* riserva spazio min per evitare CLS su desktop */
}

/* Sidebar rail: min-height moderato e sticky per i block widget contenenti ads */
.sidebar .widget .adsbygoogle,
.sidebar .widget ins.adsbygoogle {
	min-height: 250px;
}

/* Anchor / vignette: Google li inietta overlay, no override.
   Footer page ad: lasciamo margin sopra. */
.site-footer .adsbygoogle {
	margin-top: var(--br-space-3);
}

/* Evita che la sidebar vada sopra l'articolo se vuota di contenuto */
.sidebar { min-width: 0; }

/* ============================================================
 * Card filiale (shortcode futuri)
 * ============================================================ */
.br-card-filiale {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--br-space-2);
	background: var(--br-c-bg);
	border: 1px solid var(--br-c-border);
	border-radius: var(--br-radius-md);
	padding: var(--br-space-3);
	margin-bottom: var(--br-space-2);
	box-shadow: var(--br-shadow-xs);
	transition: box-shadow var(--br-trans), border-color var(--br-trans);
}
.br-card-filiale:hover {
	border-color: var(--br-c-accent);
	box-shadow: var(--br-shadow-sm);
}
.br-card-filiale h3 { margin: 0 0 4px; font-size: 18px; color: var(--br-c-primary); }
.br-card-filiale .br-indirizzo { color: var(--br-c-text-muted); font-size: 14px; }
.br-card-filiale .br-cta {
	align-self: center;
	background: var(--br-c-grad-primary);
	color: #fff;
	padding: 8px 14px;
	border-radius: var(--br-radius-md);
	font-size: 13px;
	font-weight: 600;
	box-shadow: var(--br-shadow-xs);
}

/* ============================================================
 * Mobile responsive refinements
 * ============================================================ */
@media (max-width: 768px) {
	.entry-content h2 { padding-left: 10px; }
	.single .entry-header .entry-title { font-size: clamp(26px, 6vw, 34px); }
	.sidebar .widget,
	.widget { padding: var(--br-space-2); }
	.site-footer { padding: var(--br-space-4) 0 var(--br-space-2); }
	.br-hero { padding: var(--br-space-4) var(--br-space-2); border-radius: var(--br-radius-md); }
	.entry-content table { font-size: 14px; }
	.entry-content table th,
	.entry-content table td { padding: 8px 10px; }
}

/* ============================================================
 * Accessibility
 * ============================================================ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid rgba(55,138,221,0.45);
	outline-offset: 2px;
	border-radius: var(--br-radius-sm);
}
.skip-link:focus {
	background: var(--br-c-primary);
	color: #fff;
	padding: 10px 16px;
	border-radius: var(--br-radius-md);
	z-index: 9999;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: 0.001s !important;
		animation-duration: 0.001s !important;
	}
	.generate-columns-container .generate-columns .inside-article:hover,
	.blog .site-main article .inside-article:hover,
	.archive .site-main article .inside-article:hover {
		transform: none;
	}
}

/* ============================================================
 * Print
 * ============================================================ */
@media print {
	.site-header,
	.main-navigation,
	.site-footer,
	.sidebar,
	.adsbygoogle,
	.br-ad-slot { display: none !important; }
	.entry-content { max-width: none; }
	body { color: #000; background: #fff; }
}
