/* Due di Notte - template.css
   Colori/larghezze arrivano da :root inline (parametri dello stile template). Qui i default. */

@font-face { font-family: 'Bebas Neue'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/bebasneue-400.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/poppins-400.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-weight: 600; font-style: normal; font-display: swap; src: url('../fonts/poppins-600.woff2') format('woff2'); }

:root {
	--ddn-accent: #FFE600;
	--ddn-accent2: #FF2E93;
	--ddn-cyan: #00E5FF;
	--ddn-violet: #8B3DFF;
	--ddn-bg: #0a0614;
	--ddn-surface: #150d26;
	--ddn-text: #f3effc;
	--ddn-muted: #b6acd0;
	--ddn-line: rgba(255, 255, 255, .09);
	--ddn-container: 1240px;
	--ddn-logo-h: 44px;
	--ddn-radius: 14px;
	--ddn-head: 'Bebas Neue', 'Oswald', Impact, 'Arial Narrow', sans-serif;
	--ddn-body: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--ddn-header-h: 72px;

	/* allinea Bootstrap */
	--bs-body-bg: var(--ddn-bg);
	--bs-body-color: var(--ddn-text);
	--bs-body-font-family: var(--ddn-body);
	--bs-border-color: var(--ddn-line);
	--bs-link-color: var(--ddn-accent);
	--bs-link-hover-color: #fff;
	--bs-primary: var(--ddn-accent);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--ddn-header-h) + 12px); }

body.ddn {
	margin: 0;
	background: var(--ddn-bg);
	color: var(--ddn-text);
	font-family: var(--ddn-body);
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body.ddn.ddn-nav-open, body.ddn.ddn-off-open { overflow: hidden; }

.ddn img, .ddn video { max-width: 100%; height: auto; }
.ddn a { color: var(--ddn-accent); text-decoration: none; transition: color .2s, background-color .2s, border-color .2s; }
.ddn a:hover { color: #fff; }

.ddn h1, .ddn h2, .ddn h3, .ddn h4, .ddn h5, .ddn h6,
.ddn .h1, .ddn .h2, .ddn .h3 {
	font-family: var(--ddn-head);
	font-weight: 400;
	letter-spacing: .03em;
	line-height: 1.05;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 .6em;
}
.ddn h1 { font-size: clamp(2.4rem, 5.5vw, 4.2rem); }
.ddn h2 { font-size: clamp(2rem, 4vw, 3rem); }
.ddn h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.ddn h4 { font-size: 1.4rem; }
.ddn p { margin: 0 0 1.1em; }

.ddn-container { width: 100%; max-width: var(--ddn-container); margin-inline: auto; padding-inline: 20px; }
.ddn-fluid { width: 100%; }

.ddn-skip { position: absolute; left: -9999px; top: 0; z-index: 9999; background: var(--ddn-accent); color: #000; padding: .6rem 1rem; }
.ddn-skip:focus { left: 8px; top: 8px; }

/* ---------- Top bar ---------- */
.ddn-topbar { background: #05020b; border-bottom: 1px solid var(--ddn-line); font-size: .82rem; color: var(--ddn-muted); }
.ddn-topbar__in { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 6px; flex-wrap: wrap; }
.ddn-topbar a { color: var(--ddn-muted); }
.ddn-contacts { display: flex; gap: 18px; flex-wrap: wrap; }
.ddn-contacts .fas { color: var(--ddn-accent); margin-right: 4px; }
.ddn-topbar a:hover { color: var(--ddn-accent); }
.ddn-topbar ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; }

/* ---------- Header ---------- */
.ddn-header {
	position: relative;
	z-index: 1000;
	background: rgba(10, 6, 20, .88);
	border-bottom: 1px solid var(--ddn-line);
}
.ddn-header.is-sticky { position: sticky; top: 0; backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px); }
.ddn-header.is-scrolled { box-shadow: 0 8px 30px rgba(0, 0, 0, .5); border-bottom-color: color-mix(in srgb, var(--ddn-accent) 35%, transparent); }
.ddn-header__in { display: flex; align-items: center; gap: 20px; min-height: var(--ddn-header-h); }
.ddn-logo { flex: 0 0 auto; display: flex; align-items: center; }
.ddn-logo__link { display: inline-flex; }
.ddn-logo img { height: var(--ddn-logo-h); width: auto; display: block; }

.ddn-nav { flex: 1 1 auto; display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.ddn-nav ul { list-style: none; margin: 0; padding: 0; }
.ddn-nav .mod-menu, .ddn-nav ul.nav { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.ddn-nav li { position: relative; }
.ddn-nav li > a,
.ddn-nav li > span.mod-menu__heading,
.ddn-nav li > span.nav-header,
.ddn-nav li > button {
	display: block;
	padding: .55rem .9rem;
	color: var(--ddn-text);
	font-family: var(--ddn-head);
	font-size: 1.25rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.2;
	border-radius: 8px;
	background: none;
	border: 0;
	cursor: pointer;
}
.ddn-nav li > a:hover,
.ddn-nav li.current > a,
.ddn-nav li.active > a { color: var(--ddn-accent); }
.ddn-nav li.current > a, .ddn-nav li.active > a { position: relative; }
.ddn-nav li.current > a::after, .ddn-nav li.active > a::after {
	content: ''; position: absolute; left: .9rem; right: .9rem; bottom: .15rem; height: 2px;
	background: var(--ddn-accent); box-shadow: 0 0 10px var(--ddn-accent);
}

/* dropdown */
.ddn-nav ul ul, .ddn-nav .mod-menu__sub {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	padding: 8px;
	background: var(--ddn-surface);
	border: 1px solid var(--ddn-line);
	border-radius: var(--ddn-radius);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .6);
	z-index: 20;
}
.ddn-nav ul ul li > a { font-size: 1.1rem; padding: .5rem .8rem; white-space: nowrap; }
.ddn-nav ul ul ul { top: 0; left: 100%; }
@media (hover: hover) and (min-width: 992px) {
	.ddn-nav li:hover > ul { display: block; }
}
.ddn-nav li.is-open > ul { display: block; }

.ddn-search input[type="search"], .ddn-search input[type="text"] {
	background: var(--ddn-surface); color: var(--ddn-text);
	border: 1px solid var(--ddn-line); border-radius: 999px; padding: .4rem 1rem; max-width: 180px;
}

.ddn-header__wa { margin-left: auto; flex: 0 0 auto; }
.ddn-nav + .ddn-header__wa { margin-left: 0; }

/* burger */
.ddn-burger { display: none; width: 46px; height: 46px; margin-left: auto; background: transparent; border: 1px solid var(--ddn-line); border-radius: 12px; cursor: pointer; padding: 0; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.ddn-burger span { display: block; width: 22px; height: 2px; background: var(--ddn-text); transition: transform .25s, opacity .25s; }
.ddn-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ddn-burger.is-open span:nth-child(2) { opacity: 0; }
.ddn-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.ddn-offtoggle { background: none; border: 1px solid var(--ddn-line); color: var(--ddn-text); border-radius: 12px; width: 44px; height: 44px; cursor: pointer; }

/* ---------- Buttons ---------- */
.ddn-btn, .ddn .btn-primary, .ddn .sppb-btn-primary {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .65rem 1.3rem;
	font-family: var(--ddn-head); font-size: 1.15rem; letter-spacing: .08em; text-transform: uppercase;
	border-radius: 999px; border: 2px solid var(--ddn-accent);
	background: var(--ddn-accent); color: #0b0a10; line-height: 1.1; cursor: pointer;
}
.ddn-btn:hover, .ddn .btn-primary:hover, .ddn .sppb-btn-primary:hover { background: transparent; color: var(--ddn-accent); }
.ddn-btn--cta { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ddn-accent) 50%, transparent); animation: ddn-pulse 2.8s infinite; }
@keyframes ddn-pulse { 70% { box-shadow: 0 0 0 14px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.ddn .btn-outline-primary { border-color: var(--ddn-accent); color: var(--ddn-accent); }
.ddn .btn-outline-primary:hover { background: var(--ddn-accent); color: #000; }
.ddn .btn-secondary { background: var(--ddn-accent2); border-color: var(--ddn-accent2); color: #fff; }

/* ---------- Hero / bands ---------- */
.ddn-hero { position: relative; background: #000; }
.ddn-hero > div { width: 100%; }
.ddn-titlebar { padding: clamp(28px, 5vw, 64px) 0; background: linear-gradient(180deg, color-mix(in srgb, var(--ddn-accent2) 22%, var(--ddn-bg)), var(--ddn-bg)); border-bottom: 1px solid var(--ddn-line); }
.ddn-breadcrumb { padding: 10px 0; font-size: .85rem; color: var(--ddn-muted); }
.ddn-breadcrumb ol, .ddn-breadcrumb ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.ddn-breadcrumb a { color: var(--ddn-muted); }

.ddn-band { padding: clamp(40px, 6vw, 88px) 0; }
.ddn-band--bottom { background: var(--ddn-surface); border-top: 1px solid var(--ddn-line); }
.ddn-band--pagebuilder { padding: 0; }
.ddn-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(20px, 3vw, 36px); }

.ddn-main { padding: clamp(28px, 4vw, 56px) 0; }
.ddn-main--full { padding: 0; }
.ddn-layout { display: grid; gap: clamp(24px, 3vw, 44px); grid-template-columns: minmax(0, 1fr); }
.ddn-layout.has-left { grid-template-columns: 280px minmax(0, 1fr); }
.ddn-layout.has-right { grid-template-columns: minmax(0, 1fr) 300px; }
.ddn-layout.has-left.has-right { grid-template-columns: 260px minmax(0, 1fr) 300px; }
@media (max-width: 991.98px) {
	.ddn-layout, .ddn-layout.has-left, .ddn-layout.has-right, .ddn-layout.has-left.has-right { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Moduli ---------- */
.ddn-module { margin-bottom: 1.6rem; }
.ddn-module__title { font-size: 1.7rem; padding-bottom: .5rem; margin-bottom: .9rem; border-bottom: 2px solid var(--ddn-accent); display: inline-block; }
.ddn-side .ddn-module, .ddn-band--bottom .ddn-module { }
.ddn-module ul { padding-left: 1.1rem; }
.ddn-side ul.mod-menu, .ddn-side ul.menu { list-style: none; padding: 0; margin: 0; }
.ddn-side ul.mod-menu li a { display: block; padding: .45rem 0; border-bottom: 1px solid var(--ddn-line); color: var(--ddn-text); }
.ddn-side ul.mod-menu li a:hover { color: var(--ddn-accent); }

.ddn-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.ddn-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.ddn-reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
	.ddn-btn--cta { animation: none; }
}

/* ---------- Contenuti Joomla ---------- */
.ddn .page-header h1, .ddn .page-header h2 { margin-bottom: .4em; }
.ddn .blog-items, .ddn .blog { }
.ddn .item-image img, .ddn .article-intro-image img, .ddn .article-full-image img { border-radius: var(--ddn-radius); }
.ddn .com-content-article__body, .ddn .item-page { }
.ddn .article-info, .ddn dl.article-info { color: var(--ddn-muted); font-size: .85rem; }
.ddn .readmore a { display: inline-block; margin-top: .4rem; font-family: var(--ddn-head); letter-spacing: .08em; text-transform: uppercase; }
.ddn .blog-item, .ddn .blog-items > div { }

.ddn blockquote { border-left: 4px solid var(--ddn-accent2); margin: 1.5rem 0; padding: .4rem 1.2rem; color: var(--ddn-muted); font-style: italic; }
.ddn hr { border-color: var(--ddn-line); opacity: 1; }
.ddn table { color: var(--ddn-text); }
.ddn .table { --bs-table-color: var(--ddn-text); --bs-table-bg: transparent; --bs-table-border-color: var(--ddn-line); }

.ddn .form-control, .ddn .form-select, .ddn input[type="text"], .ddn input[type="email"], .ddn input[type="password"], .ddn input[type="search"], .ddn textarea, .ddn select {
	background-color: var(--ddn-surface); color: var(--ddn-text);
	border: 1px solid var(--ddn-line); border-radius: 10px;
}
.ddn .form-control:focus, .ddn .form-select:focus { background-color: var(--ddn-surface); color: #fff; border-color: var(--ddn-accent); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--ddn-accent) 25%, transparent); }
.ddn ::placeholder { color: var(--ddn-muted); opacity: 1; }
.ddn label { color: var(--ddn-text); }

.ddn .card { background: var(--ddn-surface); border: 1px solid var(--ddn-line); border-radius: var(--ddn-radius); color: var(--ddn-text); }
.ddn .alert { border-radius: 10px; }
.ddn .alert-message, .ddn .alert-info { background: color-mix(in srgb, var(--ddn-accent) 12%, var(--ddn-surface)); color: var(--ddn-text); border-color: var(--ddn-accent); }
.ddn .alert-error, .ddn .alert-danger { background: color-mix(in srgb, var(--ddn-accent2) 25%, var(--ddn-surface)); color: #fff; border-color: var(--ddn-accent2); }

.ddn .pagination { gap: 6px; list-style: none; padding: 0; margin: 2rem 0; display: flex; flex-wrap: wrap; }
.ddn .page-link { background: var(--ddn-surface); border: 1px solid var(--ddn-line); color: var(--ddn-text); border-radius: 8px !important; }
.ddn .page-item.active .page-link { background: var(--ddn-accent); border-color: var(--ddn-accent); color: #000; }
.ddn .page-link:hover { color: var(--ddn-accent); background: var(--ddn-surface); }

/* tag */
.ddn .tags a, .ddn .tag-list a, .ddn .badge { background: var(--ddn-surface); border: 1px solid var(--ddn-line); border-radius: 999px; padding: .15rem .7rem; font-size: .8rem; color: var(--ddn-text); }

/* SP Page Builder: su sfondo scuro eredita il colore del testo se non impostato */
.ddn .sppb-section { color: inherit; }
.ddn .sppb-addon-title, .ddn .sppb-section-title .sppb-title-heading { font-family: var(--ddn-head); text-transform: uppercase; }
.ddn.is-pagebuilder .ddn-content > * { max-width: 100%; }

/* ---------- Footer ---------- */
.ddn-footer { background: #05020b; border-top: 3px solid transparent; border-image: linear-gradient(90deg, var(--ddn-accent2), var(--ddn-violet), var(--ddn-cyan)) 1; padding: 28px 0; color: var(--ddn-muted); font-size: .9rem; }
.ddn-footer__full { margin: -28px 0 28px; }
.ddn-footer__in { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.ddn-footer a { color: var(--ddn-muted); }
.ddn-footer a:hover { color: var(--ddn-accent); }
.ddn-social { display: flex; gap: 10px; }
.ddn-social a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--ddn-line); border-radius: 50%; color: var(--ddn-text); }
.ddn-social a:hover { background: var(--ddn-accent); color: #000; border-color: var(--ddn-accent); }

/* ---------- Offcanvas ---------- */
.ddn-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .65); z-index: 1100; }
.ddn-overlay[hidden] { display: none; }
.ddn-offcanvas { position: fixed; top: 0; right: 0; bottom: 0; width: min(380px, 90vw); background: var(--ddn-surface); z-index: 1200; padding: 64px 24px 24px; overflow-y: auto; transform: translateX(100%); transition: transform .3s ease; border-left: 1px solid var(--ddn-line); }
.ddn-offcanvas.is-open { transform: none; }
.ddn-offcanvas__close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--ddn-line); background: none; color: var(--ddn-text); cursor: pointer; }

/* ---------- Torna su ---------- */
.ddn-top { position: fixed; right: 18px; bottom: 18px; width: 46px; height: 46px; display: grid; place-items: center; background: var(--ddn-accent); color: #000 !important; border-radius: 50%; z-index: 900; opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .25s, transform .25s; font-size: 1.3rem; }
.ddn-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }

/* ---------- Pagina errore / offline ---------- */
.ddn-error { min-height: 100vh; display: grid; place-items: center; text-align: center; padding: 24px; background: radial-gradient(60% 50% at 50% 0%, color-mix(in srgb, var(--ddn-accent2) 40%, transparent), var(--ddn-bg)); }
.ddn-error__box { max-width: 560px; }
.ddn-error__code { font-family: var(--ddn-head); font-size: clamp(5rem, 22vw, 11rem); line-height: 1; color: var(--ddn-accent); text-shadow: 0 0 40px color-mix(in srgb, var(--ddn-accent) 50%, transparent); margin: .2em 0 0; }

/* ---------- Mobile ---------- */
@media (max-width: 991.98px) {
	:root { --ddn-header-h: 64px; }
	.ddn-burger { display: flex; }
	.ddn-header__wa { margin-left: 0; }
	.ddn-header__wa-t { display: none; }
	.ddn-header__wa { padding: .6rem .8rem; }
	.ddn-nav {
		position: absolute; top: 100%; left: 0; right: 0;
		display: none; flex-direction: column; align-items: stretch; gap: 8px;
		background: var(--ddn-bg); padding: 12px 20px 20px;
		border-bottom: 1px solid var(--ddn-line);
		max-height: calc(100vh - var(--ddn-header-h)); overflow-y: auto;
	}
	.ddn-nav.is-open { display: flex; }
	.ddn-nav .mod-menu, .ddn-nav ul.nav { flex-direction: column; align-items: stretch; }
	.ddn-nav li > a, .ddn-nav li > span.mod-menu__heading { padding: .8rem .4rem; border-bottom: 1px solid var(--ddn-line); border-radius: 0; font-size: 1.4rem; }
	.ddn-nav li.current > a::after, .ddn-nav li.active > a::after { display: none; }
	.ddn-nav ul ul, .ddn-nav .mod-menu__sub { position: static; display: none; box-shadow: none; border: 0; background: transparent; padding: 0 0 0 14px; min-width: 0; }
	.ddn-nav li.is-open > ul { display: block; }
	.ddn-search input { max-width: none; width: 100%; }
}

@media print {
	.ddn-header, .ddn-topbar, .ddn-footer, .ddn-top, .ddn-offcanvas { display: none !important; }
	body.ddn { background: #fff; color: #000; }
}

/* ---------- Fix specificita' pulsanti ---------- */
.ddn a.ddn-btn, .ddn a.btn-primary, .ddn a.sppb-btn-primary { color: #0b0a10; }
.ddn a.ddn-btn:hover, .ddn a.btn-primary:hover, .ddn a.sppb-btn-primary:hover { color: var(--ddn-accent); background: transparent; }

/* ---------- Area contenuti chiara (contenuti SP Page Builder nati per sfondo chiaro) ---------- */
.ddn-content-light { --ddn-content-bg: #f6f4ef; --ddn-content-text: #1c1b24; --ddn-content-link: var(--ddn-accent2); --ddn-content-line: rgba(0, 0, 0, .12); }
.ddn-content-light .ddn-main,
.ddn-content-light .ddn-band:not(.ddn-band--bottom),
.ddn-content-light .ddn-breadcrumb { background: var(--ddn-content-bg); color: var(--ddn-content-text); }
.ddn-content-light .ddn-main h1, .ddn-content-light .ddn-main h2, .ddn-content-light .ddn-main h3,
.ddn-content-light .ddn-main h4, .ddn-content-light .ddn-main h5, .ddn-content-light .ddn-main h6,
.ddn-content-light .ddn-band:not(.ddn-band--bottom) h1, .ddn-content-light .ddn-band:not(.ddn-band--bottom) h2,
.ddn-content-light .ddn-band:not(.ddn-band--bottom) h3, .ddn-content-light .ddn-band:not(.ddn-band--bottom) h4 { color: #111; }
.ddn-content-light .ddn-main a:not(.btn):not(.ddn-btn):not(.sppb-btn):not([class*="btn"]) { color: var(--ddn-content-link); }
.ddn-content-light .ddn-main a:not(.btn):not(.ddn-btn):not(.sppb-btn):not([class*="btn"]):hover { color: #000; }
.ddn-content-light .ddn-module__title { border-bottom-color: var(--ddn-accent2); }
.ddn-content-light .ddn-main .form-control, .ddn-content-light .ddn-main input[type="text"],
.ddn-content-light .ddn-main input[type="email"], .ddn-content-light .ddn-main textarea, .ddn-content-light .ddn-main select { background: #fff; color: #111; border-color: var(--ddn-content-line); }
.ddn-content-light .ddn-main .card, .ddn-content-light .ddn-main .page-link { background: #fff; color: #111; border-color: var(--ddn-content-line); }
.ddn-content-light .ddn-main .table { --bs-table-color: #111; --bs-table-border-color: var(--ddn-content-line); }
.ddn-content-light .ddn-main label, .ddn-content-light .ddn-main table { color: inherit; }
.ddn-content-light .ddn-main .article-info, .ddn-content-light .ddn-main blockquote { color: #55535f; }
.ddn-content-light .ddn-main hr { border-color: var(--ddn-content-line); }


/* =====================================================================
   NEON NIGHT: palette giovane e di impatto (default = tema scuro)
   ===================================================================== */
:root {
	--ddn-grad: linear-gradient(110deg, var(--ddn-accent2) 0%, var(--ddn-violet) 52%, var(--ddn-cyan) 100%);
	--ddn-glow-y: 0 0 22px color-mix(in srgb, var(--ddn-accent) 55%, transparent);
	--ddn-glow-p: 0 0 24px color-mix(in srgb, var(--ddn-accent2) 55%, transparent);
}
body.ddn {
	background:
		radial-gradient(900px 520px at 6% -4%, color-mix(in srgb, var(--ddn-violet) 26%, transparent), transparent 70%),
		radial-gradient(800px 480px at 100% 12%, color-mix(in srgb, var(--ddn-accent2) 18%, transparent), transparent 70%),
		var(--ddn-bg);
	background-attachment: fixed;
}
.ddn ::selection { background: var(--ddn-accent2); color: #fff; }
.ddn a:hover { color: var(--ddn-cyan); }

/* titoli: sottolineatura sfumata */
.ddn-module__title { border-bottom: 3px solid transparent; border-image: var(--ddn-grad) 1; }
.ddn-titlebar {
	background:
		radial-gradient(60% 140% at 85% 0%, color-mix(in srgb, var(--ddn-accent2) 40%, transparent), transparent 70%),
		radial-gradient(60% 140% at 10% 100%, color-mix(in srgb, var(--ddn-violet) 45%, transparent), transparent 70%),
		var(--ddn-bg);
}
.ddn-titlebar h1 { text-shadow: 0 0 28px color-mix(in srgb, var(--ddn-accent2) 55%, transparent); }
.ddn-band--bottom { background: linear-gradient(180deg, var(--ddn-surface), color-mix(in srgb, var(--ddn-violet) 18%, var(--ddn-bg))); }

/* menu e bottoni */
.ddn-nav li > a:hover { color: var(--ddn-accent); text-shadow: var(--ddn-glow-y); }
.ddn-btn, .ddn .btn-primary, .ddn .sppb-btn-primary { box-shadow: var(--ddn-glow-y); }
.ddn-btn:hover, .ddn .btn-primary:hover, .ddn .sppb-btn-primary:hover { box-shadow: none; }
.ddn .btn-secondary, .ddn a.btn-secondary { background: var(--ddn-accent2); border-color: var(--ddn-accent2); color: #fff; box-shadow: var(--ddn-glow-p); }
.ddn .btn-outline-primary:hover { color: #000; }
.ddn-header__wa.ddn-btn { background: #25D366; border-color: #25D366; color: #04210f; box-shadow: 0 0 20px rgba(37, 211, 102, .45); }
.ddn a.ddn-header__wa.ddn-btn { color: #04210f; }
.ddn a.ddn-header__wa.ddn-btn:hover { background: transparent; color: #25D366; }
.ddn-social a:hover { background: var(--ddn-grad); border-color: transparent; color: #fff; }
.ddn-top { background: var(--ddn-grad); color: #fff !important; box-shadow: var(--ddn-glow-p); }
.ddn .page-item.active .page-link { background: var(--ddn-grad); border-color: transparent; color: #fff; }
.ddn .tags a:hover, .ddn .tag-list a:hover { border-color: var(--ddn-cyan); color: var(--ddn-cyan); }

/* card in stile club */
.ddn .card { box-shadow: 0 10px 34px rgba(0, 0, 0, .35); }
.ddn .card:hover { border-color: color-mix(in srgb, var(--ddn-accent2) 60%, transparent); }

/* pulsante tema (opzionale) */
.ddn-themebtn { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ddn-line); background: transparent; color: var(--ddn-accent); cursor: pointer; display: grid; place-items: center; }
.ddn-themebtn:hover { border-color: var(--ddn-accent); box-shadow: var(--ddn-glow-y); }
.ddn-themebtn .fa-moon { display: none; }
.ddn-content-light .ddn-themebtn .fa-sun { display: none; }
.ddn-content-light .ddn-themebtn .fa-moon { display: inline; }

/* immagini con scritte scure su trasparente (es. banner DJ Paolo Remonato + Max):
   in tema scuro diventano bianche con alone neon. Aggiungere la classe .ddn-invert su altre immagini simili. */
.ddn-content-dark img[src*="paolo.remonato"],
.ddn-content-dark img.ddn-invert { filter: brightness(0) invert(1) drop-shadow(0 0 14px color-mix(in srgb, var(--ddn-accent2) 70%, transparent)); }

/* SP Page Builder su sfondo scuro: testi/box con colori nati per il chiaro */
.ddn-content-dark .sppb-addon-content,
.ddn-content-dark .sppb-addon-text-block,
.ddn-content-dark .sppb-addon-title,
.ddn-content-dark .sppb-section-title { color: var(--ddn-text); }
.ddn-content-dark .sppb-addon-title .sppb-addon-title,
.ddn-content-dark .sppb-title-heading { color: #fff; }

/* =====================================================================
   TEMA CHIARO (opzione): header, hero e footer restano notturni
   ===================================================================== */
.ddn-content-light { --ddn-content-bg: #fbf9ff; --ddn-content-text: #1b1330; --ddn-content-link: #C4106B; }
.ddn-content-light .ddn-main,
.ddn-content-light .ddn-band:not(.ddn-band--bottom),
.ddn-content-light .ddn-breadcrumb { background: var(--ddn-content-bg); }
.ddn-content-light .ddn-band--bottom { background: #efe8ff; color: var(--ddn-content-text); }
.ddn-content-light .ddn-band--bottom h1, .ddn-content-light .ddn-band--bottom h2,
.ddn-content-light .ddn-band--bottom h3, .ddn-content-light .ddn-band--bottom h4 { color: #111; }
.ddn-content-light .ddn-band--bottom a:not(.btn):not(.ddn-btn):not([class*="btn"]) { color: var(--ddn-content-link); }
.ddn-content-light .ddn-main h1, .ddn-content-light .ddn-main h2, .ddn-content-light .ddn-main h3,
.ddn-content-light .ddn-main h4, .ddn-content-light .ddn-main h5, .ddn-content-light .ddn-main h6 { color: #1b1330; }
.ddn-content-light .ddn-breadcrumb, .ddn-content-light .ddn-breadcrumb a { color: #6a6080; }
.ddn-content-light img[src*="paolo.remonato"], .ddn-content-light img.ddn-invert { filter: none; }
.ddn-content-light .sppb-addon-content, .ddn-content-light .sppb-addon-text-block,
.ddn-content-light .sppb-addon-title, .ddn-content-light .sppb-section-title { color: inherit; }
.ddn-content-light .sppb-title-heading { color: inherit; }

/* =====================================================================
   Responsive: WhatsApp solo icona sotto i 1200px per non spezzare il menu
   ===================================================================== */
@media (max-width: 1199.98px) {
	.ddn-header__wa-t { display: none; }
	.ddn-header__wa { padding: .6rem .85rem; }
}

/* SPPB: titolo animato ("Prossimo evento / Next Event") con colori scuri inline */
.ddn-content-dark .sppb-addon-animated-heading .animated-heading-before-part,
.ddn-content-dark .sppb-addon-animated-heading .animated-heading-after-part { color: #fff !important; }
.ddn-content-dark .sppb-addon-animated-heading .animated-text { color: var(--ddn-accent) !important; text-shadow: var(--ddn-glow-y); }
.ddn-content-light .sppb-addon-animated-heading .animated-heading-before-part,
.ddn-content-light .sppb-addon-animated-heading .animated-heading-after-part { color: #1b1330 !important; }
.ddn-content-light .sppb-addon-animated-heading .animated-text { color: #C4106B !important; text-shadow: none; }

/* Blocchi SP Page Builder con sfondi chiari fissati nel builder, adattati dal JS (solo tema scuro) */
.ddn-content-dark .ddn-flat, .ddn-footer .ddn-flat { background: transparent !important; }
.ddn-content-dark .ddn-flatcard, .ddn-footer .ddn-flatcard { background: var(--ddn-surface) !important; border-color: var(--ddn-line) !important; }
.ddn-content-dark .ddn-fixtext, .ddn-footer .ddn-fixtext { color: var(--ddn-text) !important; -webkit-text-fill-color: var(--ddn-text) !important; }
.ddn-footer__full, .ddn-footer__full * { color: var(--ddn-text); }
.ddn-footer__full a:hover, .ddn-footer__full a:hover * { color: var(--ddn-accent); }

@media (max-width: 575.98px) {
	.ddn-logo img { height: min(var(--ddn-logo-h), 34px); }
	.ddn-header__in { gap: 10px; }
	.ddn-contacts { gap: 12px; font-size: .75rem; }
	.ddn-burger { width: 42px; height: 42px; }
}

/* ---------- PRE Slider: pallini e frecce visibili su sfondo scuro ---------- */
body.ddn .prs-dots .prs-dot { background: rgba(255, 255, 255, .32) !important; border: 0 !important; opacity: 1 !important; }
body.ddn .prs-dots .prs-dot:hover { background: rgba(255, 255, 255, .65) !important; }
body.ddn .prs-dots .prs-dot.prs-active { background: var(--ddn-accent) !important; box-shadow: var(--ddn-glow-y); }
body.ddn-content-light.ddn .ddn-main .prs-dots .prs-dot { background: rgba(27, 19, 48, .25) !important; }
body.ddn-content-light.ddn .ddn-main .prs-dots .prs-dot.prs-active { background: var(--ddn-accent2) !important; box-shadow: none; }

/* ---------- Sezioni SP Page Builder alternate (tema scuro): nero / blu notte ---------- */
:root { --ddn-alt-a: #07050f; --ddn-alt-b: #131a31; }
.ddn-content-dark .page-content > .sppb-section:nth-child(odd) { background-color: var(--ddn-alt-a) !important; }
.ddn-content-dark .page-content > .sppb-section:nth-child(even) {
	background-color: var(--ddn-alt-b) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), inset 0 -1px 0 rgba(255, 255, 255, .04);
}

/* ---------- Menu bordeaux ---------- */
:root { --ddn-menu: #6B1A2B; }
.ddn-topbar { background: color-mix(in srgb, var(--ddn-menu) 45%, #000); border-bottom-color: rgba(255, 255, 255, .08); }
.ddn-topbar, .ddn-topbar a { color: rgba(255, 255, 255, .82); }
.ddn-header { background: var(--ddn-menu); border-bottom: 1px solid rgba(255, 255, 255, .12); }
.ddn-header.is-sticky { background: color-mix(in srgb, var(--ddn-menu) 94%, transparent); }
.ddn-header.is-scrolled { border-bottom-color: var(--ddn-accent); box-shadow: 0 8px 30px rgba(0, 0, 0, .55); }
.ddn-nav li > a, .ddn-nav li > span.mod-menu__heading, .ddn-nav li > span.nav-header, .ddn-nav li > button { color: #fff; }
.ddn-nav li > a:hover { color: var(--ddn-accent); text-shadow: none; background: rgba(0, 0, 0, .18); }
.ddn-nav ul ul, .ddn-nav .mod-menu__sub { background: color-mix(in srgb, var(--ddn-menu) 70%, #000); border-color: rgba(255, 255, 255, .14); }
.ddn-burger, .ddn-offtoggle, .ddn-themebtn { border-color: rgba(255, 255, 255, .28); color: #fff; }
.ddn-burger span { background: #fff; }
.ddn-themebtn { color: var(--ddn-accent); }
.ddn-header__wa.ddn-btn { box-shadow: 0 0 0 2px rgba(255, 255, 255, .15); }
@media (max-width: 991.98px) {
	.ddn-nav { background: color-mix(in srgb, var(--ddn-menu) 78%, #000); border-bottom-color: rgba(255, 255, 255, .14); }
	.ddn-nav li > a, .ddn-nav li > span.mod-menu__heading { border-bottom-color: rgba(255, 255, 255, .12); }
}


/* =====================================================================
   Pagina interna: titolo da opzioni menu (ex Helix) + sagome Artolio
   ===================================================================== */
.ddn-titlebar--page { text-align: center; padding: clamp(48px, 7vw, 96px) 0 clamp(32px, 5vw, 64px); background: transparent; border-bottom: 0; }
.ddn-titlebar--page .ddn-pagetitle__label { margin: 0 0 .75rem; font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ddn-accent); }
.ddn-titlebar--page .ddn-pagetitle__sub { margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; color: var(--ddn-text); text-shadow: 0 0 28px color-mix(in srgb, var(--ddn-accent2) 45%, transparent); }
.ddn-content-light .ddn-titlebar--page .ddn-pagetitle__label { color: #C4106B; }
.ddn-content-light .ddn-titlebar--page .ddn-pagetitle__sub { color: #1b1330; text-shadow: none; }

/* Sezione "chi siamo": foto ritagliate a sagome (stessa maschera di Artolio) */
.about-hero-section {
	-webkit-mask-image: url(../images/about-hero.svg); mask-image: url(../images/about-hero.svg);
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: 100% 100%; mask-size: 100% 100%;
}

/* titoli/testi addon SPPB con colori scuri nati per il fondo chiaro */
.ddn-content-dark p.sppb-addon-title,
.ddn-content-dark .sppb-addon-header .sppb-addon-title { color: var(--ddn-text) !important; }
/* titolo addon in forma di paragrafo (es. "Musica selezionata..."): testo normale, non maiuscolo */
.ddn p.sppb-addon-title { font-family: inherit; text-transform: none; }

/* Carosello a scorrimento continuo (ex Artolio) */
.gallery-infinite-scroller { display: flex !important; align-items: flex-end; gap: 0 !important; white-space: nowrap !important; width: 100%; overflow: unset !important; position: relative; }
.gallery-infinite-scroller > div { flex: 0 0 auto; margin: 0; padding: 0 10px; position: relative; }
.gallery-infinite-scroller img { border-radius: 16px; }
.sppb-section:has(.gallery-infinite-scroller), .sppb-section:has(.animated-scroller) { overflow: hidden; }

/* icone sopra i titoli addon: grigio chiaro, versione piena (piu' contrasto sul fondo scuro) */
.ddn-content-dark .sppb-addon-title-icon { color: #d9d5e6 !important; -webkit-text-fill-color: #d9d5e6 !important; }
.ddn-content-dark .sppb-addon-title-icon.far { font-weight: 900; }

/* Avatar con fumetto al passaggio del mouse (blocco "Conosciamoci! ... pronti a ...", ex Artolio) */
.agency-testimonial { display: flex; gap: 10px; flex-wrap: wrap; }
.agency-testimonial .sppb-addon-feature { width: 70px; position: relative; }
.agency-testimonial .sppb-addon-feature .sppb-media-content {
	position: absolute; top: 70px; left: -20px; z-index: 9; width: 460px; max-width: 80vw; padding: 20px;
	background: var(--ddn-surface); color: var(--ddn-text); border: 1px solid var(--ddn-line);
	border-radius: 16px; text-align: left; font-size: 16px; line-height: 24px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .5);
	visibility: hidden; opacity: 0; transition: all .3s ease-in-out; cursor: pointer; white-space: normal;
}
.agency-testimonial .sppb-addon-feature .sppb-media-content::before {
	content: ""; position: absolute; top: -10px; left: 40px; width: 20px; height: 20px; z-index: -1;
	background: var(--ddn-surface); border-left: 1px solid var(--ddn-line); border-top: 1px solid var(--ddn-line);
	border-radius: 4px; transform: rotate(45deg);
}
.agency-testimonial .sppb-addon-feature:hover .sppb-media-content { visibility: visible; opacity: 1; }
.agency-testimonial .sppb-media-content p { margin: 0 0 .6rem; color: var(--ddn-text); }
.agency-testimonial .sppb-media-content .author { margin-bottom: 0; color: var(--ddn-muted); }
.agency-testimonial .sppb-media-content .author strong { display: block; color: var(--ddn-accent); }
.agency-testimonial .sppb-img-container img { border-radius: 40px; }
.services-testimonial > .sppb-addon-wrapper { display: flex; align-items: center; justify-content: center; flex: 1 1 100%; }
.services-testimonial .sppb-hidden-sm { display: block !important; }
.services-testimonial .sppb-div-addon { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }

/* pagine senza fascia titolo ne' hero (es. Home): spazio tra menu e primo blocco */
/* lo spazio sopra il primo blocco usa lo stesso fondo del blocco slider (--ddn-alt-b) */
.ddn-content-dark .ddn-main--notitle { padding-top: clamp(20px, 4vw, 56px); background: var(--ddn-alt-b) !important; }
.ddn-content-light .ddn-main--notitle { padding-top: clamp(20px, 4vw, 56px); }

/* Banner DJ + Max: centrato verticalmente nella fascia scura (padding simmetrico) */
.ddn .page-content > .sppb-section:has(img[src*="paolo.remonato"]) {
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}


/* =====================================================================
   PALETTE FESTA (parametro "palette" = party): gradiente corallo -> arancione con bolle.
   Header, menu e topbar restano come nel tema notte. Contenuti in modalita' chiara.
   ===================================================================== */
body.ddn-pal-party {
	--ddn-party-1: #FF5A4E;
	--ddn-party-2: #FF8A1F;
	--ddn-party-3: #FFB02E;
	--ddn-text-dark: #2b0d16;
	background:
		radial-gradient(1000px 600px at 100% 0%, rgba(255, 230, 0, .28), transparent 65%),
		linear-gradient(180deg, var(--ddn-party-1) 0%, var(--ddn-party-2) 55%, var(--ddn-party-3) 100%);
	background-attachment: fixed;
	position: relative;
}
/* spicchi triangolari ai lati: raggiere tono su tono dai bordi, sfumate verso il centro (che resta pulito) */
body.ddn-pal-party::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		repeating-conic-gradient(from 0deg at -6% 50%, rgba(255, 255, 255, .12) 0deg 7deg, rgba(255, 255, 255, 0) 7deg 14deg) left / 50% 100% no-repeat,
		repeating-conic-gradient(from 0deg at 106% 50%, rgba(255, 255, 255, .12) 0deg 7deg, rgba(255, 255, 255, 0) 7deg 14deg) right / 50% 100% no-repeat;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .55) 14%, transparent 30%, transparent 70%, rgba(0, 0, 0, .55) 86%, #000 100%);
	mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .55) 14%, transparent 30%, transparent 70%, rgba(0, 0, 0, .55) 86%, #000 100%);
}
body.ddn-pal-party > .ddn-topbar, body.ddn-pal-party > .ddn-header:not(.is-sticky), body.ddn-pal-party > .ddn-main, body.ddn-pal-party > .ddn-footer { position: relative; z-index: 1; }
body.ddn-pal-party > .ddn-header.is-sticky { z-index: 50; }

/* aree contenuto trasparenti: si vede il fondo */
.ddn-pal-party .ddn-main,
.ddn-pal-party .ddn-band:not(.ddn-band--bottom),
.ddn-pal-party .ddn-breadcrumb,
.ddn-pal-party .ddn-main--notitle { background: transparent !important; }
.ddn-pal-party .ddn-main, .ddn-pal-party .ddn-main p, .ddn-pal-party .ddn-main li,
.ddn-pal-party .ddn-band:not(.ddn-band--bottom) { color: var(--ddn-text-dark); }
.ddn-pal-party .ddn-main h1, .ddn-pal-party .ddn-main h2, .ddn-pal-party .ddn-main h3,
.ddn-pal-party .ddn-main h4, .ddn-pal-party .ddn-main h5, .ddn-pal-party .ddn-main h6 { color: #fff; text-shadow: 0 2px 0 rgba(107, 26, 43, .35); }
.ddn-pal-party .ddn-main a:not(.btn):not(.sppb-btn):not([class*="btn"]) { color: #6B1A2B; }

/* sezioni SP Page Builder: bande alternate leggermente piu' chiare / piu' calde */
.ddn-pal-party .page-content > .sppb-section:nth-child(odd) { background-color: rgba(255, 255, 255, .10) !important; }
.ddn-pal-party .page-content > .sppb-section:nth-child(even) { background-color: rgba(107, 26, 43, .12) !important; box-shadow: none; }

/* barra titolo pagina e blocco sopra il banner */
.ddn-pal-party .ddn-titlebar--page .ddn-pagetitle__label { color: #6B1A2B; }
.ddn-pal-party .ddn-titlebar--page .ddn-pagetitle__sub { color: #fff; text-shadow: 0 3px 0 rgba(107, 26, 43, .4); }
.ddn-pal-party .ddn-titlebar:not(.ddn-titlebar--page) { background: transparent; }

/* banner DJ + Max: scuro (bordeaux) su arancione */
.ddn-pal-party img[src*="paolo.remonato"] { filter: brightness(0) saturate(100%) invert(11%) sepia(40%) saturate(2200%) hue-rotate(310deg) brightness(.9); }

/* fascia in basso e footer: restano scuri */
.ddn-pal-party .ddn-band--bottom { color: #f3effc; }

/* Palette Festa: footer come il resto della pagina (fondo arancione con raggi), solo la barra copyright/social resta bordeaux */
.ddn-pal-party .ddn-footer { background: transparent; border-top-width: 4px; }
.ddn-pal-party .ddn-footer .page-content > .sppb-section,
.ddn-pal-party .ddn-footer .page-content > .sppb-section.ddn-flat { background-color: transparent !important; box-shadow: none !important; }
.ddn-pal-party .ddn-footer__full, .ddn-pal-party .ddn-footer__full p, .ddn-pal-party .ddn-footer__full li,
.ddn-pal-party .ddn-footer__full span, .ddn-pal-party .ddn-footer__full h3, .ddn-pal-party .ddn-footer__full .sppb-addon-title,
.ddn-pal-party .ddn-footer__full a:not(.btn):not([class*="btn"]), .ddn-pal-party .ddn-footer__full .ddn-fixtext { color: var(--ddn-text-dark) !important; -webkit-text-fill-color: var(--ddn-text-dark) !important; }
.ddn-pal-party .ddn-footer__full a:not(.btn):not([class*="btn"]):hover { color: #6B1A2B !important; -webkit-text-fill-color: #6B1A2B !important; }
.ddn-pal-party .ddn-footer__full .sppb-divider-border { border-bottom-color: rgba(107, 26, 43, .35) !important; }
.ddn-pal-party .ddn-footer__in { background: color-mix(in srgb, var(--ddn-menu) 70%, #000); border-radius: 6px; }
.ddn-pal-party .ddn-footer__in, .ddn-pal-party .ddn-footer__in span, .ddn-pal-party .ddn-footer__in a { color: #fff; }
.ddn-pal-party .ddn-footer__in a:hover { color: var(--ddn-accent); }

/* Palette Festa: pulsante "torna su" rosso / arancio / giallo */
.ddn-pal-party .ddn-top { background: linear-gradient(135deg, #FF3D2E 0%, #FF8A1F 55%, #FFC72E 100%); color: #5a1424 !important; box-shadow: 0 6px 18px rgba(255, 90, 40, .45); }

/* Palette Neon notte: raggiere laterali tono su tono (viola/rosa) ai bordi, solo su schermi larghi.
   Sopra lo sfondo delle sezioni ma sotto la testata; sfumate verso il centro che resta pulito. */
@media (min-width: 1200px) {
	body.ddn:not(.ddn-pal-party).ddn-content-dark::before {
		content: '';
		position: fixed;
		inset: 0;
		z-index: 5;
		pointer-events: none;
		background:
			repeating-conic-gradient(from 0deg at -6% 50%, rgba(255, 46, 147, .16) 0deg 7deg, rgba(139, 61, 255, 0) 7deg 14deg) left / 50% 100% no-repeat,
			repeating-conic-gradient(from 0deg at 106% 50%, rgba(139, 61, 255, .20) 0deg 7deg, rgba(139, 61, 255, 0) 7deg 14deg) right / 50% 100% no-repeat;
		-webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .55) 12%, transparent 26%, transparent 74%, rgba(0, 0, 0, .55) 88%, #000 100%);
		mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .55) 12%, transparent 26%, transparent 74%, rgba(0, 0, 0, .55) 88%, #000 100%);
	}
}

/* Palette Neon notte, schermi sotto i 1200px: al posto dei raggi laterali, una raggiera dall'alto
   (tono su tono rosa/viola) che svanisce verso il basso. */
@media (max-width: 1199.98px) {
	body.ddn:not(.ddn-pal-party).ddn-content-dark::before {
		content: '';
		position: fixed;
		inset: 0;
		z-index: 5;
		pointer-events: none;
		background: repeating-conic-gradient(from -90deg at 50% -8%,
			rgba(255, 46, 147, .14) 0deg 6deg, rgba(255, 46, 147, 0) 6deg 12deg,
			rgba(139, 61, 255, .16) 12deg 18deg, rgba(139, 61, 255, 0) 18deg 24deg);
		-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .6) 22%, transparent 48%);
		mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .6) 22%, transparent 48%);
	}
}

/* Palette Festa: hover icone social del footer giallo/rosso/arancio */
.ddn-pal-party .ddn-social a:hover { background: linear-gradient(135deg, #FF3D2E 0%, #FF8A1F 55%, #FFC72E 100%); border-color: transparent; color: #5a1424; box-shadow: 0 4px 14px rgba(255,90,40,.45); }

/* Pulsante invio dei form (SP Page Builder / Joomla): ben riconoscibile come tasto, anche in hover */
.ddn .sppb-form-builder-btn .sppb-btn,
.ddn form button[type="submit"].sppb-btn { width: auto; min-width: 220px; max-width: 100%; display: inline-flex; justify-content: center; padding: .85rem 2.2rem; border: 2px solid transparent; background: var(--ddn-grad); color: #fff; box-shadow: 0 6px 0 rgba(0,0,0,.35), 0 0 22px rgba(255,255,255,.12); transition: transform .12s, box-shadow .12s, filter .12s; }
.ddn .sppb-form-builder-btn .sppb-btn:hover,
.ddn form button[type="submit"].sppb-btn:hover { background: var(--ddn-grad); color: #fff; filter: brightness(1.15); transform: translateY(2px); box-shadow: 0 4px 0 rgba(0,0,0,.35), 0 0 26px rgba(255,255,255,.2); }
.ddn .sppb-form-builder-btn .sppb-btn:active { transform: translateY(6px); box-shadow: 0 0 0 rgba(0,0,0,.35); }
.ddn-pal-party .sppb-form-builder-btn .sppb-btn,
.ddn-pal-party form button[type="submit"].sppb-btn { background: #6B1A2B; color: #FFE9A8; border-color: #6B1A2B; box-shadow: 0 6px 0 #3d0d18, 0 8px 18px rgba(107,26,43,.35); }
.ddn-pal-party .sppb-form-builder-btn .sppb-btn:hover,
.ddn-pal-party form button[type="submit"].sppb-btn:hover { background: #8a2338; color: #fff; border-color: #8a2338; box-shadow: 0 4px 0 #3d0d18, 0 6px 14px rgba(107,26,43,.4); filter: none; }

/* Galleria: frecce album precedente/successivo ben visibili */
.ddn .pmg-album-nav-wrap .pmg-nav-arrow { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border-radius: 50%; font-size: 1.25rem; opacity: 1 !important; background: var(--ddn-grad) !important; color: #fff !important; border: 2px solid rgba(255,255,255,.55); box-shadow: 0 3px 10px rgba(0,0,0,.35); transition: transform .12s, filter .12s; }
.ddn .pmg-album-nav-wrap a.pmg-nav-arrow:hover { transform: scale(1.1); filter: brightness(1.15); }
.ddn .pmg-album-nav-wrap .pmg-nav-arrow-disabled { opacity: .3 !important; box-shadow: none; }
.ddn-pal-party .pmg-album-nav-wrap .pmg-nav-arrow { background: #6B1A2B !important; color: #FFE9A8 !important; border-color: #FFE9A8; box-shadow: 0 3px 0 #3d0d18, 0 5px 12px rgba(107,26,43,.35); }
.ddn-pal-party .pmg-album-nav-wrap a.pmg-nav-arrow:hover { background: #8a2338 !important; color: #fff !important; }

/* Variante di prova (solo anteprima ?palette=party-rosso): fondo party piu' scuro e rosso */
body.ddn-pal-party.ddn-party-hot {
	--ddn-party-1: #D62A22;
	--ddn-party-2: #E8561A;
	--ddn-party-3: #F2831C;
	background:
		radial-gradient(1000px 600px at 100% 0%, rgba(255, 200, 0, .20), transparent 65%),
		linear-gradient(180deg, var(--ddn-party-1) 0%, var(--ddn-party-2) 55%, var(--ddn-party-3) 100%);
	background-attachment: fixed;
}
