/* djdeis — stili front-end */

/* --- Accessibilità di base --- */
.djdeis-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 12px 20px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg);
	font-weight: 700;
	text-decoration: none;
}
.djdeis-skip:focus { left: 0; }

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* --- Header --- */
.djdeis-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	min-height: var(--wp--custom--nav-height);
	padding-top: 24px;
	display: flex;
	align-items: center;
	/* Trasparente sull'hero: lo sfondo dell'hero arriva fino in cima, dietro il
	   menu (come nel template). Prende un fondo scuro solo quando si scrolla. */
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: background-color .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.djdeis-nav.is-scrolled {
	background: color-mix(in srgb, var(--wp--preset--color--bg) 82%, transparent);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom-color: var(--wp--preset--color--line);
}
/* L'header è fuori dal flusso: il contenuto parte da cima pagina, sotto di lui.
   Azzero il gap che WordPress mette prima del <main>. */
.wp-site-blocks > main,
main#main { margin-block-start: 0 !important; }
.djdeis-nav__wrap {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--20);
}
.djdeis-brand {
	font-family: var(--wp--preset--font-family--anton);
	text-transform: uppercase;
	letter-spacing: .02em;
}
.djdeis-brand a { color: var(--wp--preset--color--ink); text-decoration: none; }
/* Logo del sito nell'header: immagine dimensionata all'altezza del menu. */
.djdeis-nav .djdeis-brand.wp-block-site-logo { margin: 0; line-height: 0; }
.djdeis-nav .djdeis-brand img {
	height: 68px;
	width: auto;
	max-width: 300px;
	object-fit: contain;
	display: block;
	/* Logo reso bianco pieno: massima leggibilità su header scuro/foto. */
	filter: brightness(0) invert(1);
}

.djdeis-menu { display: flex; gap: 28px; }
.djdeis-menu a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--anton);
	font-size: 1.25rem;
	letter-spacing: .02em;
	text-transform: uppercase;
	transition: color .2s var(--wp--custom--ease);
}
.djdeis-menu a:hover,
.djdeis-menu a.is-current { color: var(--wp--preset--color--accent); }

.djdeis-nav__end { display: flex; align-items: center; gap: 14px; }
.djdeis-nav-cta {
	padding: 10px 20px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg);
	font-weight: 700;
	font-size: .9rem;
	text-decoration: none;
}

.djdeis-burger { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.djdeis-burger__bars { display: grid; gap: 5px; }
.djdeis-burger__bars span {
	display: block; width: 22px; height: 2px;
	background: var(--wp--preset--color--ink);
}

.djdeis-mobile-menu {
	display: grid;
	gap: 4px;
	padding: 20px var(--wp--preset--spacing--20) 28px;
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--bg-soft);
}
.djdeis-mobile-menu a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--anton);
	font-size: 1.6rem;
	text-transform: uppercase;
}
.djdeis-mobile-menu[hidden] { display: none; }

@media (max-width: 860px) {
	.djdeis-menu { display: none; }
	.djdeis-burger { display: block; }
}

/* --- Footer --- */
.djdeis-footer {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-block: var(--wp--preset--spacing--60);
	text-align: center;
}
/* Logo del sito nel footer (senza alone), centrato */
.djdeis-footer .djdeis-brand.wp-block-site-logo { margin: 0 auto 8px; line-height: 0; }
.djdeis-footer .djdeis-brand img {
	height: 56px;
	width: auto;
	max-width: 260px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
	/* Logo bianco pieno, come nell'header. */
	filter: brightness(0) invert(1);
}
.djdeis-copy { color: var(--wp--preset--color--ink); margin: 0; }
/* Social centrati, icona Instagram bianca */
.djdeis-social {
	justify-content: center !important;
	margin-block: 20px;
}
.djdeis-social .wp-social-link,
.djdeis-social .wp-social-link a { background: none !important; }
.djdeis-social .wp-social-link svg,
.djdeis-social svg { fill: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--ink) !important; width: 28px; height: 28px; }
.djdeis-social .wp-social-link:hover { opacity: .7; }
/* Link privacy sotto il logo */
.djdeis-privacy { margin: 0 0 6px; }
.djdeis-privacy a { color: var(--wp--preset--color--ink); text-decoration: none; }
.djdeis-privacy a:hover { color: var(--wp--preset--color--accent); }

/* --- Motion --- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .001ms !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}

html { scroll-behavior: smooth; scroll-padding-top: var(--wp--custom--nav-height); }

/* --- Sezioni --- */
.djdeis-section {
	padding-block: var(--wp--preset--spacing--80);
	/* Full-bleed indipendente da alignfull: le sezioni sono sempre a tutto
	   schermo, in qualsiasi pagina o template le si componga. */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
/* Evita la scrollbar orizzontale generata da 100vw; clip non rompe lo
   sticky dell'header (a differenza di overflow-x: hidden). */
html { overflow-x: clip; }
.djdeis-wrap {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--20);
}

/* --- Reveal --- */
/* Nascondi i blocchi reveal SOLO quando il JS è attivo (classe djdeis-js su
   <html>): senza JS, o prima che parta, il contenuto resta visibile. */
.djdeis-js .djdeis-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .7s var(--wp--custom--ease), transform .7s var(--wp--custom--ease);
}
.djdeis-reveal.is-visible {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.djdeis-reveal { opacity: 1; transform: none; }
}

/* --- Hero --- */
/* Hero come blocco Copertina (core/cover): altezza, sfondo (immagine o
   video) e overlay scuro sono nativi del blocco. Qui allineo il contenuto
   in basso e aggiungo una sfumatura in fondo per la leggibilità del testo. */
.djdeis-hero.wp-block-cover {
	align-items: flex-end;
	padding-block: 0 var(--wp--preset--spacing--60);
}
.djdeis-hero .wp-block-cover__inner-container {
	width: 100%;
	position: relative;
	z-index: 2;
}
.djdeis-hero__content { position: relative; }
/* Testo sempre chiaro sull'hero, a prescindere dal media di sfondo (il blocco
   Copertina altrimenti impone un colore di testo scuro sui media chiari). */
.djdeis-hero .wp-block-cover__inner-container,
.djdeis-hero .wp-block-cover__inner-container :where(h1, h2, h3, p, a, span),
.djdeis-hero__title,
.djdeis-hero__sub {
	color: var(--wp--preset--color--ink) !important;
	-webkit-text-fill-color: var(--wp--preset--color--ink) !important;
}
/* Sfumatura scura verso il fondo (look MIDNIGHT + leggibilità del testo su
   sfondi chiari). Va applicata all'overlay NATIVO della Copertina, che sta
   dietro il contenuto: un pseudo-elemento sopra il testo lo scurirebbe. */
.djdeis-hero .wp-block-cover__background {
	background: linear-gradient(180deg,
		transparent 0%,
		transparent 38%,
		color-mix(in srgb, var(--wp--preset--color--bg) 62%, transparent) 72%,
		color-mix(in srgb, var(--wp--preset--color--bg) 90%, transparent) 100%) !important;
	opacity: 1 !important;
}
/* Su mobile lo schermo è stretto e il cover ritaglia i lati: sposto
   l'inquadratura verso destra così il soggetto (a destra nell'immagine) entra
   in scena invece di essere tagliato. Vale per sfondo immagine e video. */
@media (max-width: 781px) {
	.djdeis-hero .wp-block-cover__image-background,
	.djdeis-hero .wp-block-cover__video-background {
		object-position: 74% center !important;
	}
}

.djdeis-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 24px;
	padding: 8px 16px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: var(--wp--custom--accent-dim);
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}
/* Pallino lime pulsante a inizio badge (pseudo-elemento: il testo del badge
   resta editabile come normale paragrafo). */
.djdeis-hero__badge::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	animation: djdeis-pulse 2s infinite;
}
@media (prefers-reduced-motion: reduce) {
	.djdeis-hero__badge::before { animation: none; }
}
.djdeis-hero__live {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	animation: djdeis-pulse 2s infinite;
}
@keyframes djdeis-pulse {
	0%, 100% { opacity: 1; }
	50%      { opacity: .3; }
}

.djdeis-hero__title { margin: 0; }
.djdeis-hero__sub {
	max-width: 46ch;
	margin-top: 20px;
	color: var(--wp--preset--color--ink);
}

.djdeis-hero__scroll {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 40px 0 0;
	padding-inline: var(--wp--preset--spacing--20);
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	width: 100%;
	color: var(--wp--preset--color--ink);
	font-size: .78rem;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.djdeis-hero__bar {
	width: 60px; height: 1px;
	background: var(--wp--preset--color--accent);
	transform-origin: left;
	animation: djdeis-slide 2.4s var(--wp--custom--ease) infinite;
}
@keyframes djdeis-slide {
	0%   { transform: scaleX(0); }
	50%  { transform: scaleX(1); }
	100% { transform: scaleX(0); transform-origin: right; }
}
@media (prefers-reduced-motion: reduce) {
	.djdeis-hero__live { animation: none; }
	.djdeis-hero__bar { animation: none; }
}

/* --- Intestazione di sezione --- */
.djdeis-sechead {
	align-items: baseline;
	margin-bottom: var(--wp--preset--spacing--40);
	padding-bottom: 18px;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.djdeis-sechead h2 { margin: 0; }
.djdeis-idx {
	margin: 0;
	color: var(--wp--preset--color--ink);
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* --- About --- */
.djdeis-about__grid { gap: var(--wp--preset--spacing--40); }
.djdeis-lead {
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	line-height: 1.35;
	margin-top: 0;
}
.djdeis-body { color: var(--wp--preset--color--ink); }

.djdeis-stats { gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--40); }
.djdeis-stat__n {
	margin: 0;
	font-family: var(--wp--preset--font-family--anton);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
	color: var(--wp--preset--color--accent);
}
.djdeis-stat__l {
	margin: 6px 0 0;
	color: var(--wp--preset--color--ink);
	letter-spacing: .08em;
	text-transform: uppercase;
}

.djdeis-about__img img {
	width: 100%;
	border-radius: 4px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

/* --- Media --- */
.djdeis-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: var(--wp--preset--spacing--40);
}
.djdeis-tabs button {
	padding: 10px 20px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
	transition: color .2s var(--wp--custom--ease), background-color .2s var(--wp--custom--ease);
}
.djdeis-tabs button:hover { color: var(--wp--preset--color--ink); }
.djdeis-tabs button.is-active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg);
	font-weight: 700;
}
.djdeis-panel[hidden] { display: none; }
.djdeis-panel:focus-visible { outline-offset: 6px; }
.djdeis-note { color: var(--wp--preset--color--ink); }

.djdeis-gallery { --wp--style--unstable-gallery-gap: 12px; }
.djdeis-gallery img { border-radius: 4px; }

/* --- Righe del calendario --- */
.djdeis-evrow {
	display: grid;
	grid-template-columns: 72px 1fr auto auto;
	align-items: center;
	gap: 20px;
	padding: 22px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.djdeis-evdate {
	display: grid;
	justify-items: center;
	line-height: 1;
}
.djdeis-evdate__d {
	font-family: var(--wp--preset--font-family--anton);
	font-size: 2rem;
	color: var(--wp--preset--color--ink);
}
.djdeis-evdate__m {
	margin-top: 4px;
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}
.djdeis-evmain { display: grid; gap: 4px; }
.djdeis-evname { font-size: 1.05rem; font-weight: 600; }
.djdeis-evloc,
.djdeis-evcity { color: var(--wp--preset--color--ink); font-size: .9rem; }

.djdeis-evstat {
	padding: 7px 15px;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-decoration: none;
	white-space: nowrap;
}
.djdeis-evstat.is-biglietti {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg);
}
.djdeis-evstat.is-ultimi-posti {
	background: var(--wp--custom--accent-dim);
	color: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
}
.djdeis-evstat.is-sold-out {
	background: transparent;
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
}

@media (max-width: 700px) {
	.djdeis-evrow {
		grid-template-columns: 60px 1fr;
		row-gap: 10px;
	}
	.djdeis-evcity { grid-column: 2; }
	.djdeis-evstat { grid-column: 2; justify-self: start; }
}

/* --- Legenda --- */
.djdeis-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	margin: 0 0 var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--ink);
	font-size: .82rem;
}
.djdeis-legend span { display: inline-flex; align-items: center; gap: 8px; }
.djdeis-sw { width: 10px; height: 10px; border-radius: 50%; }
.djdeis-sw.is-biglietti    { background: var(--wp--preset--color--accent); }
.djdeis-sw.is-ultimi-posti { background: var(--wp--custom--accent-dim); border: 1px solid var(--wp--preset--color--accent); }
.djdeis-sw.is-sold-out     { background: transparent; border: 1px solid var(--wp--preset--color--line); }

/* --- Disponibilità booking --- */
.djdeis-avail {
	margin-top: var(--wp--preset--spacing--60);
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	background: var(--wp--preset--color--bg-soft);
}
.djdeis-avail h3 { margin-top: 0; }
.djdeis-avail__grid { gap: 14px; margin-top: 24px; }
.djdeis-avm {
	flex: 1 1 160px;
	padding: 18px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
}
.djdeis-avm__mo { margin: 0 0 8px; font-weight: 600; }
.djdeis-avm__st {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .85rem;
}
.djdeis-avm__st::before {
	content: "";
	width: 8px; height: 8px;
	border-radius: 50%;
	background: currentColor;
}
.djdeis-avm__st.is-open { color: var(--wp--preset--color--accent); }
.djdeis-avm__st.is-busy { color: var(--wp--preset--color--ink); }
.djdeis-avm__st.is-full { color: var(--wp--preset--color--ink); }

/* --- Contatti --- */
.djdeis-contact__grid { gap: var(--wp--preset--spacing--40); }
.djdeis-contact__links { list-style: none; margin: 24px 0 0; padding: 0; }
.djdeis-contact__links li { border-bottom: 1px solid var(--wp--preset--color--line); }
.djdeis-contact__links a {
	display: flex;
	justify-content: space-between;
	padding: 14px 0;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: color .2s var(--wp--custom--ease);
}
.djdeis-contact__links a::after { content: "↗"; color: var(--wp--preset--color--ink); }
.djdeis-contact__links a:hover { color: var(--wp--preset--color--accent); }

/* Niente "riquadro": il form fluisce nella pagina come le altre sezioni.
   Sono i campi stessi a dare struttura. */
.djdeis-contact__form { padding: 0; border: 0; background: none; }
.djdeis-contact__form * { box-sizing: border-box; }

/* --- Mini-form WhatsApp --- */
.djdeis-wa { display: grid; gap: 14px; max-width: 460px; }
.djdeis-wa__label {
	font-size: .8rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}
.djdeis-wa__input {
	box-sizing: border-box;
	width: 100%;
	padding: 15px 16px;
	background: rgba(255, 255, 255, .07);
	border: 1.5px solid rgba(255, 255, 255, .3);
	border-radius: 10px;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: 1rem;
	transition: border-color .2s var(--wp--custom--ease), box-shadow .2s var(--wp--custom--ease);
}
.djdeis-wa__input::placeholder { color: var(--wp--preset--color--muted); }
.djdeis-wa__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 3px var(--wp--custom--accent-dim);
}
.djdeis-wa__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg);
	font: inherit;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .2s var(--wp--custom--ease);
}
.djdeis-wa__btn:hover { filter: brightness(1.08); }
.djdeis-wa__btn svg { flex: none; }
.djdeis-wa__hint { margin: 0; font-size: .82rem; color: var(--wp--preset--color--muted); }

/* --- Contatti: CTA WhatsApp centrata --- */
.djdeis-contact__cta {
	max-width: 620px;
	margin: 0 auto;
	text-align: center;
	display: grid;
	gap: 22px;
	justify-items: center;
}
.djdeis-contact__cta .djdeis-idx { margin: 0; }
.djdeis-contact__title { margin: 0; font-size: clamp(2rem, 4.5vw, 3.25rem); }
.djdeis-contact__cta .djdeis-body { margin: 0; max-width: 48ch; }
.djdeis-contact__cta .djdeis-wa__btn { font-size: 1.05rem; padding: 17px 36px; margin-top: 4px; }
.djdeis-contact__alt { margin: 0; }
.djdeis-contact__alt a { color: var(--wp--preset--color--accent); text-decoration: none; }
.djdeis-contact__alt a:hover { text-decoration: underline; }

/* --- Contact Form 7 — coerente col tema scuro, indipendente dal template --- */
/* Aggancia i selettori NATIVI di CF7: funziona con qualsiasi form. */
.djdeis-contact .wpcf7-form {
	display: grid;
	gap: 16px;
}
.djdeis-contact .wpcf7-form p { margin: 0; }
.djdeis-contact .wpcf7-form label {
	display: block;
	margin-bottom: 7px;
	font-size: .8rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}
/* Campi (text, email, tel, url, textarea, select) */
.djdeis-contact .wpcf7-form-control:where( [type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], textarea, select ) {
	box-sizing: border-box;
	width: 100%;
	padding: 14px 16px;
	background: color-mix(in srgb, var(--wp--preset--color--ink) 6%, transparent);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: 1rem;
	transition: border-color .2s var(--wp--custom--ease), box-shadow .2s var(--wp--custom--ease);
}
.djdeis-contact .wpcf7-form-control::placeholder { color: var(--wp--preset--color--muted); }
.djdeis-contact .wpcf7-form-control:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 3px var(--wp--custom--accent-dim);
}
.djdeis-contact textarea.wpcf7-form-control { min-height: 130px; resize: vertical; }
/* Select con freccia custom (il menu nativo su fondo scuro è illeggibile) */
.djdeis-contact select.wpcf7-form-control {
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--wp--preset--color--muted) 50%), linear-gradient(135deg, var(--wp--preset--color--muted) 50%, transparent 50%);
	background-position: calc(100% - 20px) center, calc(100% - 15px) center;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 40px;
}
/* Pulsante invio: pillola lime come le CTA del sito */
.djdeis-contact .wpcf7-submit {
	box-sizing: border-box;
	width: 100%;
	padding: 15px 26px;
	margin-top: 4px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg);
	font: inherit;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .2s var(--wp--custom--ease);
}
.djdeis-contact .wpcf7-submit:hover { filter: brightness(1.08); }
.djdeis-contact .wpcf7-spinner { margin: 0 0 0 12px; background-color: var(--wp--preset--color--muted); }
/* Messaggi di esito e validazione */
.djdeis-contact .wpcf7-response-output {
	margin: 8px 0 0 !important;
	padding: 13px 16px;
	border-radius: 10px;
	border: 1px solid var(--wp--preset--color--line) !important;
	color: var(--wp--preset--color--ink);
	font-size: .9rem;
}
.djdeis-contact .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: .82rem;
	color: #ff8080; /* stato d'errore: unica eccezione funzionale all'accento unico */
}
.djdeis-contact .wpcf7-form-control.wpcf7-not-valid { border-color: #ff8080; }

/* ── Banner cookie Iubenda: bottoni e badge nei colori del sito ──
   Il badge "Created with iubenda" è obbligatorio nel piano gratuito:
   si ristila, non si nasconde. */
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-accept-btn,
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-reject-btn {
	background: var(--wp--preset--color--accent) !important;
	color: #0a0a0b !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-reject-btn {
	background: transparent !important;
	color: var(--wp--preset--color--accent) !important;
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--accent) !important;
}
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-customize-btn { border-radius: 999px !important; }
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-accept-btn:hover,
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-reject-btn:hover { opacity: .85 !important; }
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-cookie-policy-lnk,
html body #iubenda-cs-banner#iubenda-cs-banner #iubenda-cs-paragraph a { color: var(--wp--preset--color--accent) !important; }
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-brand-badge {
	background: var(--wp--preset--color--bg-soft) !important;
	color: var(--wp--preset--color--muted) !important;
	box-shadow: none !important;
	border: 1px solid rgba(244, 244, 242, .12) !important;
	opacity: .9;
}
html body #iubenda-cs-banner#iubenda-cs-banner .iubenda-cs-brand-badge span { color: inherit !important; }
