/*
Theme Name: PRAID LAB
Description: Tema a blocchi per PRAID LAB — laboratorio di lavorazioni conto terzi su accessori alta moda. Palette monocromatica ripresa dal logo.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: praid-lab
*/

:root {
	--praid-nero: #0a0a0a;
	--praid-grafite: #161616;
	--praid-linea: rgba(255, 255, 255, 0.14);
	--praid-linea-scura: rgba(10, 10, 10, 0.12);
	--praid-acciaio: #8c8c8c;
	--praid-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #0a0a0a; color: #fff; }

/* Le sezioni a tutta larghezza si toccano, senza spazi fra un blocco e l'altro. */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; }

/* ---------- Tipografia di servizio ---------- */
.praid-eyebrow {
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.42em;
	text-transform: uppercase;
	color: var(--praid-acciaio);
	margin-bottom: 1.1rem;
}
.praid-eyebrow::before {
	content: "";
	display: inline-block;
	width: 42px;
	height: 1px;
	margin-right: 16px;
	vertical-align: middle;
	background: currentColor;
}
.praid-lead { font-size: 1.2rem; line-height: 1.65; }
.praid-muted { color: #6b6b6b; }
.praid-dark .praid-muted { color: #a6a6a6; }

/* ---------- Sezioni ---------- */
.praid-section { padding-block: clamp(72px, 9vw, 128px); }
.praid-section-tight { padding-block: clamp(56px, 6vw, 88px); }
.praid-dark { background: var(--praid-nero); color: #fff; }
.praid-dark :is(h1, h2, h3, h4) { color: #fff; }
.praid-dark a:not(.wp-element-button) { color: #fff; }
.praid-grey { background: #f3f3f1; }
.praid-head { max-width: 760px; margin-bottom: clamp(40px, 5vw, 64px) !important; }
.praid-head.has-text-align-center,
.praid-head-center { margin-inline: auto !important; text-align: center; }
.praid-head-center .praid-eyebrow::after {
	content: "";
	display: inline-block;
	width: 42px;
	height: 1px;
	margin-left: 16px;
	vertical-align: middle;
	background: currentColor;
}

/* ---------- Pulsanti ---------- */
.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.25s var(--praid-ease), color 0.25s var(--praid-ease), border-color 0.25s var(--praid-ease);
}
.wp-block-button .wp-block-button__link { border: 1px solid #0a0a0a; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: transparent; color: #0a0a0a; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #0a0a0a; padding: 1.05rem 2rem; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #0a0a0a; color: #fff; }

:is(.praid-dark, .wp-block-cover, .praid-header, .praid-cta) .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff; color: #0a0a0a; border-color: #fff; }
:is(.praid-dark, .wp-block-cover, .praid-header, .praid-cta) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: transparent; color: #fff; }
:is(.praid-dark, .wp-block-cover, .praid-header, .praid-cta) .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, 0.55); }
:is(.praid-dark, .wp-block-cover, .praid-header, .praid-cta) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: #0a0a0a; border-color: #fff; }

.praid-link a,
a.praid-link {
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	text-decoration: none;
	padding-bottom: 6px;
	border-bottom: 1px solid currentColor;
	transition: letter-spacing 0.3s var(--praid-ease);
}
.praid-link a:hover { letter-spacing: 0.36em; }
.praid-link a::after { content: " \2192"; }

/* ---------- Testata ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: 32px; }
.praid-topbar {
	background: #000;
	color: #a6a6a6;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding-block: 9px;
	border-bottom: 1px solid var(--praid-linea);
}
.praid-topbar p { margin: 0; }
.praid-topbar a { color: #fff; text-decoration: none; }
.praid-header { background: var(--praid-nero); color: #fff; padding-block: 14px; border-bottom: 1px solid var(--praid-linea); }
.praid-header .wp-block-site-logo img { mix-blend-mode: screen; display: block; }
.praid-header .wp-block-navigation { font-size: 0.74rem; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; gap: 2.2rem; }
.praid-header .wp-block-navigation a { color: #fff; }
.praid-header .wp-block-navigation .wp-block-navigation-item__content { padding-block: 10px; position: relative; }
.praid-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after,
.praid-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0.24em;
	bottom: 2px;
	height: 1px;
	background: #fff;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s var(--praid-ease);
}
.praid-header .wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.praid-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.praid-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: #0a0a0a;
	border: 1px solid var(--praid-linea);
	min-width: 300px;
	padding: 10px 0;
	font-size: 0.7rem;
	letter-spacing: 0.18em;
}
.praid-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 11px 22px; color: #cfcfcf; }
.praid-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: #fff; background: #1c1c1c; }
.praid-header .wp-block-navigation__responsive-container.is-menu-open { background: #0a0a0a; color: #fff; padding: 28px; }
.praid-header .wp-block-navigation__responsive-container-open,
.praid-header .wp-block-navigation__responsive-container-close { color: #fff; }
.praid-header .wp-block-button .wp-block-button__link { padding: 0.8rem 1.4rem; font-size: 0.68rem; }
@media (max-width: 781px) {
	.praid-topbar { display: none; }
	.praid-header .praid-header-cta { display: none; }
	.admin-bar header.wp-block-template-part { top: 0; }
}

/* ---------- Hero ---------- */
.praid-hero { min-height: min(86vh, 820px); }
.praid-hero .wp-block-cover__inner-container { width: 100%; }
.praid-hero h1 { font-size: clamp(2.7rem, 6.4vw, 5.6rem); line-height: 1.02; letter-spacing: -0.01em; max-width: 13ch; margin-bottom: 1.6rem; }
.praid-hero h1 em { font-style: italic; font-weight: 400; }
.praid-hero .praid-lead { max-width: 54ch; color: #d6d6d6; margin-bottom: 2.4rem; }
.praid-hero .praid-eyebrow { color: #cfcfcf; }

.praid-pagehero {
	background: #0a0a0a url(assets/img/praid-texture.jpg) center / cover no-repeat;
	color: #fff;
	padding-block: clamp(72px, 9vw, 120px);
	border-bottom: 1px solid var(--praid-linea);
}
.praid-pagehero h1 { color: #fff; font-size: clamp(2.3rem, 5vw, 4.2rem); line-height: 1.05; margin: 0; max-width: 18ch; }
.praid-pagehero .praid-eyebrow { color: #cfcfcf; }

/* ---------- Presentazione (blocco "9 lavorazioni") ---------- */
.praid-stat {
	background: var(--praid-nero) url(assets/img/praid-texture.jpg) center / cover;
	color: #fff;
	padding: clamp(36px, 5vw, 64px);
	height: 100%;
	min-height: 420px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
}
.praid-stat .praid-big { font-family: var(--wp--preset--font-family--titoli); font-size: clamp(6rem, 13vw, 11rem); line-height: 0.85; margin: 0 0 1rem; color: #fff; }
.praid-stat p { margin: 0; }
.praid-stat .praid-eyebrow { color: #cfcfcf; margin-bottom: 0.4rem; }

.praid-points { margin-top: 2.4rem !important; row-gap: 0 !important; }
.praid-point { border-top: 1px solid var(--praid-linea-scura); padding-top: 22px; padding-bottom: 22px; }
.praid-dark .praid-point { border-top-color: var(--praid-linea); }
.praid-point .praid-num,
.praid-step .praid-num {
	font-family: var(--wp--preset--font-family--titoli);
	font-size: 1.05rem;
	font-style: italic;
	color: var(--praid-acciaio);
	margin: 0 0 0.4rem;
}
.praid-point h3, .praid-point h4 { font-size: 1.3rem; margin: 0 0 0.45rem; }
.praid-point p { margin: 0; font-size: 0.97rem; }

/* ---------- Schede lavorazione ---------- */
.praid-card { position: relative; background: #fff; border: 1px solid var(--praid-linea-scura); transition: transform 0.45s var(--praid-ease), box-shadow 0.45s var(--praid-ease); }
.praid-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.45); }
.praid-card .wp-block-image { margin: 0; overflow: hidden; background: #0a0a0a; }
.praid-card .wp-block-image img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 0.9s var(--praid-ease), opacity 0.4s; }
.praid-card:hover .wp-block-image img { transform: scale(1.06); }
.praid-card-body { padding: 28px 28px 32px; }
.praid-card-body > * { margin-block: 0; }
.praid-card-body .praid-num { font-family: var(--wp--preset--font-family--titoli); font-style: italic; color: var(--praid-acciaio); font-size: 0.95rem; margin-bottom: 0.5rem; }
.praid-card-body h3 { font-size: 1.45rem; line-height: 1.2; margin-bottom: 0.7rem; }
.praid-card-body h3 a { text-decoration: none; color: inherit; }
.praid-card-body h3 a::after { content: ""; position: absolute; inset: 0; }
.praid-card-body p { font-size: 0.96rem; color: #555; }
.praid-card-body .praid-link { margin-top: 1.4rem; }
.praid-card-body .praid-link a { color: #0a0a0a; }

/* ---------- Citazione ---------- */
.praid-quote { min-height: 460px; text-align: center; }
.praid-quote p.praid-quote-text {
	font-family: var(--wp--preset--font-family--titoli);
	font-size: clamp(1.7rem, 3.6vw, 3rem);
	line-height: 1.25;
	font-style: italic;
	max-width: 22ch;
	margin-inline: auto;
}
.praid-quote .praid-eyebrow { color: #cfcfcf; }
.praid-quote .praid-eyebrow::before { display: none; }

/* ---------- Righe in evidenza (immagine + testo) ---------- */
.praid-feature { gap: 0 !important; margin-bottom: 0 !important; align-items: stretch !important; border: 1px solid var(--praid-linea-scura); background: #fff; }
.praid-feature + .praid-feature { margin-top: 32px !important; }
.praid-feature > .wp-block-column { margin: 0; }
.praid-feature .wp-block-image { margin: 0; height: 100%; background: #0a0a0a; overflow: hidden; }
.praid-feature .wp-block-image img { display: block; width: 100%; height: 100%; min-height: 340px; object-fit: cover; transition: transform 1.1s var(--praid-ease); }
.praid-feature:hover .wp-block-image img { transform: scale(1.04); }
.praid-feature-text { padding: clamp(32px, 4.5vw, 64px); display: flex; flex-direction: column; justify-content: center; }
.praid-feature-text h3 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); margin: 0 0 1rem; }
.praid-feature-text .praid-link { margin-top: 1.6rem; }
@media (min-width: 782px) {
	.praid-feature.praid-feature-reverse { flex-direction: row-reverse; }
}

/* ---------- Processo ---------- */
.praid-steps { counter-reset: none; gap: 0 !important; border-top: 1px solid var(--praid-linea); }
.praid-step { padding: 36px 32px 8px 0; border-right: 1px solid var(--praid-linea); }
.praid-step + .praid-step { padding-left: 32px; }
.praid-step:last-child { border-right: 0; }
.praid-step .praid-num { font-size: 2.6rem; font-style: normal; color: #fff; margin-bottom: 1rem; }
.praid-step h3 { font-size: 1.3rem; margin: 0 0 0.6rem; }
.praid-step p { font-size: 0.96rem; color: #a6a6a6; }
@media (max-width: 781px) {
	.praid-step, .praid-step + .praid-step { padding: 28px 0 8px; border-right: 0; border-bottom: 1px solid var(--praid-linea); }
}

/* ---------- Settori ---------- */
.praid-sectors { gap: 0 !important; border-top: 1px solid var(--praid-linea-scura); border-left: 1px solid var(--praid-linea-scura); }
.praid-sector { padding: 34px 30px; border-right: 1px solid var(--praid-linea-scura); border-bottom: 1px solid var(--praid-linea-scura); background: #fff; transition: background-color 0.35s var(--praid-ease), color 0.35s var(--praid-ease); }
.praid-sector > * { margin-block: 0; }
.praid-sector h3 { font-size: 1.35rem; margin-bottom: 0.6rem; transition: color 0.35s; }
.praid-sector p { font-size: 0.95rem; color: #555; transition: color 0.35s; }
.praid-sector:hover { background: #0a0a0a; }
.praid-sector:hover h3 { color: #fff; }
.praid-sector:hover p { color: #b5b5b5; }

/* ---------- Elenchi ---------- */
.praid-check { list-style: none; padding-left: 0; }
.praid-check li { position: relative; padding: 13px 0 13px 34px; border-bottom: 1px solid var(--praid-linea-scura); }
.praid-check li::before { content: ""; position: absolute; left: 2px; top: 1.25em; width: 14px; height: 7px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }
.praid-dark .praid-check li { border-bottom-color: var(--praid-linea); }

/* ---------- Domande frequenti ---------- */
.wp-block-details { border-bottom: 1px solid var(--praid-linea-scura); padding: 22px 0; margin: 0 !important; }
.wp-block-details:first-of-type { border-top: 1px solid var(--praid-linea-scura); }
.wp-block-details summary { font-family: var(--wp--preset--font-family--titoli); font-size: 1.3rem; cursor: pointer; list-style: none; position: relative; padding-right: 40px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 4px; top: -4px; font-family: var(--wp--preset--font-family--testo); font-weight: 300; font-size: 1.8rem; transition: transform 0.3s var(--praid-ease); }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details p { margin: 14px 0 0; max-width: 70ch; color: #555; }

/* ---------- Pagina lavorazione ---------- */
.praid-service-figure { margin: 0; background: #0a0a0a; }
.praid-service-figure img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.praid-aside { background: #0a0a0a; color: #fff; padding: 36px 32px; }
.praid-aside h3 { color: #fff; font-size: 1.35rem; margin: 0 0 1rem; }
.praid-aside ul { list-style: none; padding: 0; margin: 0; }
.praid-aside li { border-top: 1px solid var(--praid-linea); }
.praid-aside li a { display: block; padding: 13px 0; color: #cfcfcf; text-decoration: none; font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; transition: color 0.25s, padding-left 0.3s var(--praid-ease); }
.praid-aside li a:hover { color: #fff; padding-left: 8px; }

/* ---------- Contatti ---------- */
.praid-contact-card { border: 1px solid var(--praid-linea-scura); padding: 34px 30px; height: 100%; box-sizing: border-box; background: #fff; }
.praid-contact-card > * { margin-block: 0; }
.praid-contact-card h3 { font-size: 1.3rem; margin-bottom: 0.7rem; }
.praid-contact-card .praid-contact-big { font-family: var(--wp--preset--font-family--titoli); font-size: 1.7rem; line-height: 1.25; }
.praid-contact-card a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; }
.praid-map iframe { display: block; width: 100%; height: 460px; border: 0; filter: grayscale(1) contrast(1.05); }

/* ---------- Invito all'azione e piè di pagina ---------- */
.praid-cta { background: #0a0a0a url(assets/img/praid-texture.jpg) center / cover no-repeat; color: #fff; padding-block: clamp(64px, 7vw, 104px); border-top: 1px solid var(--praid-linea); }
.praid-cta h2 { color: #fff; font-size: clamp(1.9rem, 3.8vw, 3.2rem); line-height: 1.1; margin: 0; max-width: 18ch; }
.praid-cta .praid-eyebrow { color: #cfcfcf; }
.praid-footer { background: #050505; color: #a6a6a6; padding-block: 72px 0; font-size: 0.95rem; border-top: 1px solid var(--praid-linea); }
.praid-footer h4 { color: #fff; font-family: var(--wp--preset--font-family--testo); font-size: 0.74rem; font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase; margin: 0 0 1.4rem; }
.praid-footer a { color: #cfcfcf; text-decoration: none; }
.praid-footer a:hover { color: #fff; }
.praid-footer .wp-block-site-logo img { mix-blend-mode: screen; }
.praid-footer ul { list-style: none; padding: 0; margin: 0; }
.praid-footer li { padding: 5px 0; }
.praid-footer-bottom { margin-top: 64px !important; padding-block: 22px; border-top: 1px solid var(--praid-linea); font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; }
.praid-footer-bottom p { margin: 0; }

/* ---------- Rifiniture ---------- */
.praid-contact-card .praid-eyebrow { margin-bottom: 1.1rem; }
.praid-contact-card .praid-contact-big { margin-bottom: 0.9rem; }
.praid-contact-card .praid-link { margin-top: 1.2rem; }
.praid-contact-card + .praid-contact-card,
.praid-aside + .praid-contact-card { margin-top: 24px; }
.praid-service-figure + .praid-eyebrow { margin-top: 2.6rem; }
h2.praid-service-title { font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.2; }
.praid-map-wrap { margin-block: 0 !important; }
@media (max-width: 781px) {
	.praid-stat { min-height: 300px; }
	.praid-feature .wp-block-image img { min-height: 240px; }
}
.praid-section > .praid-points,
.praid-section > .praid-head:not(.praid-head-center) { max-width: var(--wp--style--global--wide-size) !important; }
.praid-head:not(.praid-head-center) > * { max-width: 760px; }
.wp-block-cover.praid-hero,
.wp-block-cover.praid-quote { background-color: #0a0a0a; }
.praid-header .wp-block-navigation__responsive-container.is-menu-open { background-color: #0a0a0a !important; color: #fff !important; }
.praid-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0; min-width: 0; background: transparent; }
.praid-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 0; }
.praid-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { background: transparent; }
.praid-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1100px) {
	.praid-header .praid-header-cta { display: none; }
	.praid-header .wp-block-navigation { gap: 1.5rem; }
}

/* ==========================================================
   Accento colore: oro/ottone, come la galvanica degli accessori
   ========================================================== */
:root { --praid-oro: #c9a24b; --praid-oro-scuro: #9a7426; --praid-avorio: #f6f1e7; }
::selection { background: var(--praid-oro); color: #0a0a0a; }

.praid-eyebrow { color: var(--praid-oro-scuro); }
:is(.praid-dark, .wp-block-cover, .praid-pagehero, .praid-cta, .praid-stat, .praid-quote, .praid-hero) .praid-eyebrow { color: var(--praid-oro); }
.praid-grey { background: var(--praid-avorio); }

/* Pulsanti */
.wp-block-button .wp-block-button__link { border-color: var(--praid-oro); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #0a0a0a; color: #fff; border-color: #0a0a0a; }
.wp-block-button.is-style-outline .wp-block-button__link { border-color: #0a0a0a; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--praid-oro); color: #0a0a0a; border-color: var(--praid-oro); }
:is(.praid-dark, .wp-block-cover, .praid-header, .praid-cta) .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--praid-oro); color: #0a0a0a; border-color: var(--praid-oro); }
:is(.praid-dark, .wp-block-cover, .praid-header, .praid-cta) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff; color: #0a0a0a; border-color: #fff; }
:is(.praid-dark, .wp-block-cover, .praid-header, .praid-cta) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--praid-oro); color: #0a0a0a; border-color: var(--praid-oro); }
.praid-header .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--praid-oro); color: var(--praid-oro); }

/* Collegamenti e dettagli */
.praid-link a { border-bottom-color: var(--praid-oro); }
.praid-link a:hover { color: var(--praid-oro-scuro); }
.praid-dark .praid-link a:hover { color: var(--praid-oro); }
.praid-topbar a { color: var(--praid-oro); }
.praid-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after,
.praid-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { background: var(--praid-oro); height: 2px; }
.praid-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--praid-oro); }
.praid-header { border-bottom-color: rgba(201, 162, 75, 0.35); }

.praid-hero h1 em { color: var(--praid-oro); }
.praid-quote p.praid-quote-text { color: #fff; }
.praid-point .praid-num,
.praid-card-body .praid-num { color: var(--praid-oro-scuro); }
.praid-dark .praid-point .praid-num,
.praid-step .praid-num { color: var(--praid-oro); }
.praid-point { border-top: 2px solid var(--praid-oro); }
.praid-dark .praid-point { border-top-color: var(--praid-oro); }
.praid-check li::before { border-color: var(--praid-oro-scuro); border-width: 2px; }
.wp-block-details summary::after { color: var(--praid-oro-scuro); }
.praid-head h2::after,
.praid-pagehero h1::after { content: ""; display: block; width: 64px; height: 3px; margin-top: 1.1rem; background: var(--praid-oro); }
.praid-head-center h2::after { margin-inline: auto; }

/* Schede */
.praid-card { border-bottom: 3px solid transparent; }
.praid-card:hover { border-bottom-color: var(--praid-oro); }
.praid-card .wp-block-image img,
.praid-feature .wp-block-image img { filter: saturate(1.08); }
.praid-sector { border-top: 3px solid transparent; }
.praid-sector:hover { background: #0a0a0a; border-top-color: var(--praid-oro); }
.praid-sector:hover h3 { color: var(--praid-oro); }
.praid-feature-text { border-left: 3px solid var(--praid-oro); }
.praid-feature.praid-feature-reverse .praid-feature-text { border-left: 0; border-right: 3px solid var(--praid-oro); }
.praid-aside { border-top: 3px solid var(--praid-oro); }
.praid-aside li a:hover { color: var(--praid-oro); }
.praid-contact-card { border-top: 3px solid var(--praid-oro); }

/* Fondi fotografici */
.praid-pagehero { background: linear-gradient(90deg, rgba(10, 10, 10, 0.92) 0%, rgba(10, 10, 10, 0.72) 55%, rgba(10, 10, 10, 0.45) 100%), url(assets/img/praid-sparks.jpg) center / cover no-repeat #0a0a0a; }
.praid-cta { background: linear-gradient(90deg, rgba(10, 10, 10, 0.9), rgba(10, 10, 10, 0.6)), url(assets/img/praid-sparks.jpg) center 60% / cover no-repeat #0a0a0a; border-top: 3px solid var(--praid-oro); }
.praid-stat { background: linear-gradient(180deg, rgba(10, 10, 10, 0.35), rgba(10, 10, 10, 0.88)), url(assets/img/praid-sparks.jpg) 70% center / cover no-repeat #0a0a0a; }
.praid-stat .praid-big { color: var(--praid-oro); }
.praid-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(10, 10, 10, 0.95) 0%, rgba(10, 10, 10, 0.6) 60%, rgba(10, 10, 10, 0.25) 100%) !important; opacity: 1 !important; }
.praid-map iframe { filter: none; }

/* Piè di pagina */
.praid-footer h4 { color: var(--praid-oro); }
.praid-footer a:hover { color: var(--praid-oro); }
/* Nell'hero la foto è specchiata: il soggetto resta a destra, il testo a sinistra. */
.praid-hero .wp-block-cover__image-background { transform: scaleX(-1); object-position: 30% 55%; }
.praid-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(10, 10, 10, 0.88) 0%, rgba(10, 10, 10, 0.5) 50%, rgba(10, 10, 10, 0.05) 100%) !important; }
@media (max-width: 781px) {
	.praid-hero .wp-block-cover__background { background: rgba(10, 10, 10, 0.62) !important; }
}

/* ---------- Hero: bottone inciso dal laser ---------- */
.praid-hero { position: relative; overflow: hidden; }
.praid-engrave {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: max(4vw, calc((100vw - var(--wp--style--global--wide-size)) / 2));
	width: clamp(320px, 40vw, 540px);
	transform: translateY(-50%);
	pointer-events: none;
}
.praid-engrave svg { display: block; width: 100%; height: auto; overflow: visible; }
.praid-hero .wp-block-cover__inner-container { z-index: 2; }
/* Con il bottone in primo piano la foto resta sullo sfondo, più scura. */
.praid-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(10, 10, 10, 0.94) 0%, rgba(10, 10, 10, 0.9) 55%, rgba(10, 10, 10, 0.86) 100%) !important; }
@media (min-width: 782px) {
	.praid-hero .wp-block-cover__inner-container > .wp-block-group > :not(.praid-eyebrow) { max-width: min(54ch, 50%); }
	.praid-hero h1 { max-width: min(13ch, 56%); }
}
@media (max-width: 781px) {
	.praid-hero { flex-direction: column; justify-content: center; padding-top: 28px; }
	.praid-engrave { position: static; transform: none; order: -1; width: min(62vw, 260px); margin: 0 auto 8px; }
	.praid-hero .wp-block-cover__background { background: rgba(10, 10, 10, 0.88) !important; }
}

/* ---------- Laser, l'assistente del sito ---------- */
.praid-laser { position: fixed; right: 22px; bottom: 22px; z-index: 90; font-family: var(--wp--preset--font-family--testo); }
.praid-laser__launcher {
	display: flex; align-items: center; gap: 0; padding: 0; border: 0; background: none; cursor: pointer;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.45));
}
.praid-laser__launcher svg { width: 66px; height: 66px; display: block; transition: transform 0.6s var(--praid-ease); }
.praid-laser__launcher:hover svg { transform: rotate(35deg) scale(1.06); }
.praid-laser__launcher:focus-visible { outline: 2px solid var(--praid-oro); outline-offset: 6px; border-radius: 40px; }
.praid-laser__label {
	order: -1; margin-right: -14px; padding: 10px 26px 10px 18px; background: #0a0a0a; color: #fff; border: 1px solid rgba(201, 162, 75, 0.6);
	font-size: 0.7rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; white-space: nowrap; border-radius: 40px 0 0 40px;
}
.praid-laser[data-open="true"] .praid-laser__label { display: none; }
.praid-laser .pl-spark { transform-box: view-box; transform-origin: 32px 32px; animation: praid-laser-orbit 5s linear infinite; }
@keyframes praid-laser-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .praid-laser .pl-spark { animation: none; } }

.praid-laser__panel {
	position: absolute; right: 0; bottom: 84px; width: min(380px, calc(100vw - 28px)); height: min(580px, calc(100vh - 130px));
	display: flex; flex-direction: column; background: var(--praid-avorio); border: 1px solid rgba(201, 162, 75, 0.55);
	box-shadow: 0 30px 70px -20px rgba(0, 0, 0, 0.6); overflow: hidden;
}
.praid-laser__panel[hidden] { display: none; }
.praid-laser__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #0a0a0a; color: #fff; border-bottom: 3px solid var(--praid-oro); }
.praid-laser__head svg { width: 40px; height: 40px; flex: none; }
.praid-laser__head div { flex: 1; line-height: 1.25; }
.praid-laser__head strong { display: block; font-family: var(--wp--preset--font-family--titoli); font-size: 1.25rem; font-weight: 500; }
.praid-laser__head span { font-size: 0.66rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--praid-oro); }
.praid-laser__close { border: 0; background: none; color: #fff; font-size: 1.7rem; line-height: 1; cursor: pointer; padding: 4px 8px; }
.praid-laser__close:hover { color: var(--praid-oro); }
.praid-laser__log { flex: 1; overflow-y: auto; padding: 18px 16px 6px; display: flex; flex-direction: column; gap: 10px; }
.praid-laser__msg { max-width: 86%; padding: 11px 14px; font-size: 0.94rem; line-height: 1.5; }
.praid-laser__msg p { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.praid-laser__msg--bot { align-self: flex-start; background: #fff; color: #1c1c1c; border-left: 3px solid var(--praid-oro); }
.praid-laser__msg--user { align-self: flex-end; background: #0a0a0a; color: #fff; }
.praid-laser__msg a { color: var(--praid-oro-scuro); text-decoration: underline; }
.praid-laser__links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.praid-laser__links a {
	font-size: 0.66rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none;
	color: #0a0a0a; border: 1px solid var(--praid-oro); padding: 6px 10px;
}
.praid-laser__links a:hover { background: var(--praid-oro); }
.praid-laser__links a::after { content: " \2192"; }
.praid-laser__typing { display: flex; gap: 5px; padding: 15px 14px; }
.praid-laser__typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--praid-oro); animation: praid-laser-dot 1.1s ease-in-out infinite; }
.praid-laser__typing span:nth-child(2) { animation-delay: 0.15s; }
.praid-laser__typing span:nth-child(3) { animation-delay: 0.3s; }
@keyframes praid-laser-dot { 0%, 60%, 100% { opacity: 0.25; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }
.praid-laser__chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 16px 4px; }
.praid-laser__chips[hidden] { display: none; }
.praid-laser__chips button { border: 1px solid rgba(10, 10, 10, 0.25); background: #fff; color: #1c1c1c; font: inherit; font-size: 0.82rem; padding: 6px 11px; cursor: pointer; border-radius: 30px; }
.praid-laser__chips button:hover { border-color: var(--praid-oro); background: #fffaf0; }
.praid-laser__form { display: flex; gap: 0; margin: 10px 16px 0; border: 1px solid rgba(10, 10, 10, 0.3); background: #fff; }
.praid-laser__form:focus-within { border-color: var(--praid-oro-scuro); }
.praid-laser__form input { flex: 1; min-width: 0; border: 0; background: none; padding: 12px 12px; font: inherit; font-size: 1rem; color: #1c1c1c; outline: none; }
.praid-laser__form button { flex: none; width: 46px; border: 0; background: var(--praid-oro); color: #0a0a0a; cursor: pointer; display: grid; place-items: center; }
.praid-laser__form button:hover { background: #0a0a0a; color: #fff; }
.praid-laser__note { margin: 8px 16px 12px; font-size: 0.68rem; line-height: 1.4; color: #6b6b6b; }
@media (max-width: 600px) {
	.praid-laser { right: 14px; bottom: 14px; }
	.praid-laser__launcher svg { width: 58px; height: 58px; }
	.praid-laser__label { display: none; }
	.praid-laser__panel { bottom: 72px; height: min(560px, calc(100vh - 110px)); }
}

/* ---------- Animazioni della home ---------- */
/* Gli stessi gruppi sono elencati in assets/js/reveal.js. */
body.home, body.home .wp-site-blocks { overflow-x: clip; }
.praid-anim body.home :is(main, .praid-cta) :is(h1, h2, h3, h4, .praid-eyebrow, .praid-quote-text, .praid-big) {
	opacity: 0;
	transform: translateX(90px);
	transition: opacity 0.9s var(--praid-ease), transform 1.1s var(--praid-ease);
}
.praid-anim body.home main :is(.praid-card, .praid-feature, .praid-sector, .praid-step, .praid-point, .wp-block-details, .praid-stat, .wp-block-buttons, .wp-block-list),
.praid-anim body.home :is(main, .praid-cta) p:not(.praid-eyebrow, .praid-quote-text, .praid-big):not(:is(.praid-card, .praid-sector, .praid-step, .praid-point, .wp-block-details, .praid-stat, .praid-feature) p) {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity 0.9s var(--praid-ease), transform 1s var(--praid-ease);
}
/* Il bottone inciso ha già una sua posizione: compare solo in dissolvenza. */
.praid-anim body.home .praid-engrave { opacity: 0; transition: opacity 1.4s var(--praid-ease) 0.3s; }
.praid-anim body.home .is-in { opacity: 1 !important; transform: none !important; }
.praid-anim body.home .praid-engrave.is-in { transform: translateY(-50%) !important; }
@media (max-width: 781px) {
	.praid-anim body.home .praid-engrave.is-in { transform: none !important; }
}
/* Le schede mantengono il loro effetto al passaggio del mouse anche dopo l'ingresso. */
.praid-anim body.home .praid-card.is-in:hover { transform: translateY(-6px) !important; }
