/* Nami Hub — stile dell'area Divisione Stampa: carta, CMYK, crocini di taglio, Space Grotesk + Space Mono. */

@font-face { font-family: "Nami Grotesk"; src: url(fonts/space-grotesk-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Nami Grotesk"; src: url(fonts/space-grotesk-latin-500-normal.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Nami Grotesk"; src: url(fonts/space-grotesk-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Nami Mono"; src: url(fonts/space-mono-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Nami Mono"; src: url(fonts/space-mono-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-display: swap; }

body.nami-area--stampa {
	--nst-ink: #0A0A0A;
	--nst-paper: #F3F1EC;
	--nst-paper-2: #E9E6DE;
	--nst-c: #00A0E3;
	--nst-m: #E5007E;
	--nst-y: #FFE600;
	--nst-soft: #3A3A3A;
	--nst-grot: "Nami Grotesk", "Space Grotesk", "Titillium Web", sans-serif;
	--nst-mono: "Nami Mono", "Space Mono", ui-monospace, monospace;
	--nst-cmyk: linear-gradient(90deg, var(--nst-c) 0 25%, var(--nst-m) 25% 50%, var(--nst-y) 50% 75%, var(--nst-ink) 75% 100%);
	background: var(--nst-paper) !important;
	color: var(--nst-ink);
}
.nami-area--stampa .wp-site-blocks,
.nami-area--stampa main,
.nami-area--stampa .nami-header,
.nami-area--stampa .nami-footer { background-color: transparent !important; }
.nami-area--stampa .nami-header .wp-block-navigation-item__content:hover,
.nami-area--stampa .nami-header [aria-current="page"] { color: var(--nst-m); }

/* Titoli della pagina: Space Grotesk, niente corsivi d'accento */
.nami-area--stampa main h2,
.nami-area--stampa main h3 { font-family: var(--nst-grot); letter-spacing: -0.03em; }
.nami-area--stampa main h2 { font-weight: 700; letter-spacing: -0.045em; }
.nami-area--stampa main h2 em { font-family: var(--nst-grot); font-style: normal; color: var(--nst-m); }
.nami-area--stampa .is-style-eyebrow { font-family: var(--nst-mono); font-weight: 400; letter-spacing: .06em; color: var(--nst-ink) !important; }
.nami-area--stampa .is-style-eyebrow::before { background: var(--nst-m); }
.nami-area--stampa .nami-hr { border-top-color: var(--nst-ink) !important; }

/* Crocini di taglio (4 angoli) come sfondo */
.nami-area--stampa .nst-hero,
.nami-area--stampa .nst-sheet {
	--nst-mark: var(--nst-ink);
	--nst-off: 22px;
	background-image:
		linear-gradient(var(--nst-mark), var(--nst-mark)), linear-gradient(var(--nst-mark), var(--nst-mark)),
		linear-gradient(var(--nst-mark), var(--nst-mark)), linear-gradient(var(--nst-mark), var(--nst-mark)),
		linear-gradient(var(--nst-mark), var(--nst-mark)), linear-gradient(var(--nst-mark), var(--nst-mark)),
		linear-gradient(var(--nst-mark), var(--nst-mark)), linear-gradient(var(--nst-mark), var(--nst-mark));
	background-repeat: no-repeat;
	background-size: 34px 1px, 1px 34px, 34px 1px, 1px 34px, 34px 1px, 1px 34px, 34px 1px, 1px 34px;
	background-position:
		var(--nst-off) var(--nst-off), var(--nst-off) var(--nst-off),
		calc(100% - var(--nst-off)) var(--nst-off), calc(100% - var(--nst-off)) var(--nst-off),
		var(--nst-off) calc(100% - var(--nst-off)), var(--nst-off) calc(100% - var(--nst-off)),
		calc(100% - var(--nst-off)) calc(100% - var(--nst-off)), calc(100% - var(--nst-off)) calc(100% - var(--nst-off));
}

/* ---------- Apertura ---------- */
.nami-area--stampa .nst-hero { position: relative; padding-top: 34px !important; padding-bottom: clamp(72px, 9vw, 120px) !important; margin-top: 0 !important; }
.nami-area--stampa .nst-crumb { font-family: var(--nst-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 clamp(28px, 5vw, 64px) !important; }
.nami-area--stampa .nst-crumb a { color: inherit; text-decoration: none; }
.nami-area--stampa .nst-crumb a:hover { color: var(--nst-m); }
.nami-area--stampa .nst-hero__cols { gap: clamp(32px, 5vw, 80px) !important; margin: 0 !important; }
.nami-area--stampa .nst-hero__copy > * { margin-block: 0; }
.nami-area--stampa .nst-hero__copy > * + * { margin-top: 22px !important; }
.nami-area--stampa .nst-kicker { font-family: var(--nst-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.nami-area--stampa .nst-kicker::after { content: ""; display: block; width: 220px; height: 10px; margin-top: 18px; background: var(--nst-cmyk); }
.nami-area--stampa .nst-title { font-family: var(--nst-grot) !important; font-weight: 700; font-size: clamp(68px, 9.6vw, 150px) !important; line-height: .86 !important; letter-spacing: -0.055em !important; text-transform: uppercase; color: var(--nst-ink); }
.nami-area--stampa .nst-dot { color: var(--nst-m); }
.nami-area--stampa .nst-sub { font-family: var(--nst-grot); font-weight: 500; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.15; letter-spacing: -0.01em; }
.nami-area--stampa .nst-intro { max-width: 540px; font-size: 18px; line-height: 1.6; color: var(--nst-soft); }

.nami-area--stampa .nst-btns { gap: 12px; margin-top: 30px !important; }
.nami-area--stampa .nst-btn .wp-block-button__link,
.nami-area--stampa .nst-btn-outline .wp-block-button__link {
	border-radius: 2px !important; font-family: var(--nst-mono); font-size: 14px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	padding: 18px 24px !important; min-height: 0; transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.nami-area--stampa .nst-btn .wp-block-button__link { background: var(--nst-ink) !important; color: #fff !important; border: 1px solid var(--nst-ink); }
.nami-area--stampa .nst-btn .wp-block-button__link:hover { background: var(--nst-m) !important; border-color: var(--nst-m); }
.nami-area--stampa .nst-btn-outline .wp-block-button__link { background: transparent !important; color: var(--nst-ink) !important; border: 1px solid var(--nst-ink); }
.nami-area--stampa .nst-btn-outline .wp-block-button__link:hover { background: var(--nst-ink) !important; color: #fff !important; }

/* Foto come "prova di stampa": foglio bianco, crocini, registro e barra colore */
.nami-area--stampa .nst-proof { position: relative; margin: 0 auto !important; max-width: 520px; background: #fff; padding: 20px 20px 54px; box-shadow: 0 40px 70px -40px rgba(10,10,10,.45), 0 2px 0 rgba(10,10,10,.04); transform: rotate(1.4deg); }
.nami-area--stampa .nst-proof img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0 !important; }
.nami-area--stampa .nst-proof figcaption { position: absolute; left: 20px; right: 150px; bottom: 16px; margin: 0; font-family: var(--nst-mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; text-align: left; color: var(--nst-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nami-area--stampa .nst-proof::after { content: ""; position: absolute; right: 20px; bottom: 21px; width: 120px; height: 10px; background: var(--nst-cmyk); }
.nami-area--stampa .nst-proof::before {
	content: ""; position: absolute; top: -34px; right: -34px; width: 26px; height: 26px; border-radius: 50%;
	border: 1px solid var(--nst-ink);
	background: linear-gradient(var(--nst-ink), var(--nst-ink)) center / 1px 100% no-repeat, linear-gradient(var(--nst-ink), var(--nst-ink)) center / 100% 1px no-repeat;
}

/* ---------- Servizi ---------- */
.nami-area--stampa #servizi-divisione { background: transparent; }
.nami-area--stampa .nami-service-grid { counter-reset: nst; }
.nami-area--stampa .nami-service {
	counter-increment: nst; position: relative; background: #fff !important; border-radius: 2px !important;
	border-top: 6px solid var(--nst-c); padding-top: 54px !important; transition: transform .25s ease, box-shadow .25s ease;
}
.nami-area--stampa .nami-service:nth-child(3n+2) { border-top-color: var(--nst-m); }
.nami-area--stampa .nami-service:nth-child(3n) { border-top-color: var(--nst-y); }
.nami-area--stampa .nami-service::before { content: counter(nst, decimal-leading-zero); position: absolute; top: 20px; left: 26px; font-family: var(--nst-mono); font-size: 12px; letter-spacing: .06em; }
.nami-area--stampa .nami-service:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -28px rgba(10,10,10,.4); }
.nami-area--stampa .nami-service h3 { font-size: 24px; font-weight: 700; }
.nami-area--stampa .nami-service p { color: var(--nst-soft) !important; }

/* ---------- Lavori (galleria) ---------- */
.nami-area--stampa .nami-gallery-section { background: var(--nst-paper-2) !important; }
.nami-area--stampa .nami-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { border-radius: 0; background: #fff; padding: 10px; box-shadow: 0 1px 0 rgba(10,10,10,.06); }
.nami-area--stampa .nami-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 0 !important; }

/* ---------- Contatti ---------- */
.nami-area--stampa .nst-contact { background: var(--nst-ink); color: var(--nst-paper); padding-top: clamp(72px, 8vw, 120px) !important; padding-bottom: clamp(72px, 8vw, 120px) !important; margin-top: 0 !important; }
.nami-area--stampa .nst-contact__cols { gap: clamp(32px, 5vw, 80px) !important; margin: 0 !important; }
.nami-area--stampa .nst-contact .nst-kicker { color: var(--nst-paper); }
.nami-area--stampa .nst-contact h2 { color: var(--nst-paper); font-size: clamp(44px, 5.4vw, 84px) !important; line-height: .9 !important; text-transform: uppercase; margin: 26px 0 22px !important; }
.nami-area--stampa .nst-contact p { color: rgba(243,241,236,.78); font-size: 18px; line-height: 1.6; }
.nami-area--stampa .nst-contact__mail { font-family: var(--nst-mono); font-size: 13px !important; letter-spacing: .06em; text-transform: uppercase; margin-top: 30px !important; }
.nami-area--stampa .nst-contact__mail a { display: inline-block; margin-top: 6px; font-family: var(--nst-grot); font-size: 24px; font-weight: 500; letter-spacing: -0.01em; text-transform: none; color: var(--nst-paper); text-decoration: none; border-bottom: 2px solid var(--nst-m); }
.nami-area--stampa .nst-contact__mail a:hover { color: var(--nst-m); }

.nami-area--stampa .nst-sheet { --nst-mark: rgba(243,241,236,.6); --nst-off: 0px; padding: 28px !important; }
.nami-area--stampa .nst-sheet .wpcf7 { background: #fff; color: var(--nst-ink); padding: clamp(24px, 3vw, 40px); position: relative; }
.nami-area--stampa .nst-sheet .wpcf7::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--nst-cmyk); }

/* Modulo */
.nami-area--stampa .wpcf7 label { font-family: var(--nst-mono); font-size: 12px; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; color: var(--nst-ink); }
.nami-area--stampa .wpcf7 input[type="text"], .nami-area--stampa .wpcf7 input[type="email"], .nami-area--stampa .wpcf7 input[type="tel"],
.nami-area--stampa .wpcf7 select, .nami-area--stampa .wpcf7 textarea {
	border: 1px solid var(--nst-ink); border-radius: 2px; font-family: "Titillium Web", system-ui, sans-serif; text-transform: none; letter-spacing: 0; background: #fff;
}
.nami-area--stampa .wpcf7 input:focus-visible, .nami-area--stampa .wpcf7 select:focus-visible, .nami-area--stampa .wpcf7 textarea:focus-visible { outline: 2px solid var(--nst-m); outline-offset: 1px; }
.nami-area--stampa .wpcf7 .wpcf7-acceptance label { font-family: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--nst-soft); }
.nami-area--stampa .wpcf7 .wpcf7-acceptance a { color: var(--nst-ink); }
.nami-area--stampa .wpcf7 input[type="checkbox"] { accent-color: var(--nst-m); }
.nami-area--stampa .wpcf7 .wpcf7-submit { border-radius: 2px; font-family: var(--nst-mono); font-size: 15px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; background: var(--nst-ink); }
.nami-area--stampa .wpcf7 .wpcf7-submit:hover { background: var(--nst-m); }
.nami-area--stampa .wpcf7 form .wpcf7-response-output { border-radius: 2px; }

@media (max-width: 781px) {
	.nami-area--stampa .nst-hero { --nst-off: 10px; }
	.nami-area--stampa .nst-hero__cols { gap: 48px !important; }
	.nami-area--stampa .nst-kicker::after { width: 160px; }
	.nami-area--stampa .nst-proof { transform: none; max-width: 420px; }
	.nami-area--stampa .nst-proof::before { top: -30px; right: 0; }
	.nami-area--stampa .nst-sheet { padding: 14px !important; }
	.nami-area--stampa .nst-contact__mail a { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.nami-area--stampa .nami-service, .nami-area--stampa .nst-btn .wp-block-button__link { transition: none; }
	.nami-area--stampa .nami-service:hover { transform: none; }
}

/* ---------- Apertura con video di sfondo (regola: ogni divisione apre con un video) ---------- */
.nami-area--stampa .nst-vhero { margin-top: 0 !important; }
.nami-area--stampa .nst-vhero video.wp-block-cover__video-background { filter: grayscale(.15) contrast(1.05); }
/* retino di stampa + crocini di taglio bianchi sopra il video */
.nami-area--stampa .nst-vhero::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background-image: radial-gradient(rgba(243,241,236,.10) 1px, transparent 1.3px); background-size: 6px 6px;
}
.nami-area--stampa .nst-vhero::after {
	content: ""; position: absolute; left: 0; right: 0; top: 112px; bottom: 0; z-index: 1; pointer-events: none;
	--m: rgba(243,241,236,.75); --o: 22px;
	background-image:
		linear-gradient(var(--m), var(--m)), linear-gradient(var(--m), var(--m)), linear-gradient(var(--m), var(--m)), linear-gradient(var(--m), var(--m)),
		linear-gradient(var(--m), var(--m)), linear-gradient(var(--m), var(--m)), linear-gradient(var(--m), var(--m)), linear-gradient(var(--m), var(--m));
	background-repeat: no-repeat;
	background-size: 34px 1px, 1px 34px, 34px 1px, 1px 34px, 34px 1px, 1px 34px, 34px 1px, 1px 34px;
	background-position: var(--o) var(--o), var(--o) var(--o), calc(100% - var(--o)) var(--o), calc(100% - var(--o)) var(--o),
		var(--o) calc(100% - var(--o)), var(--o) calc(100% - var(--o)), calc(100% - var(--o)) calc(100% - var(--o)), calc(100% - var(--o)) calc(100% - var(--o));
}
.nami-area--stampa .nst-vhero .wp-block-cover__inner-container { position: relative; z-index: 2; }
.nami-area--stampa .nst-vhero,
.nami-area--stampa .nst-vhero .nst-crumb,
.nami-area--stampa .nst-vhero .nst-kicker,
.nami-area--stampa .nst-vhero .nst-title { color: #F3F1EC !important; }
.nami-area--stampa .nst-vhero .nst-crumb { margin-bottom: 0 !important; }
.nami-area--stampa .nst-vhero .nst-title { font-size: clamp(76px, 12vw, 190px) !important; }
.nami-area--stampa .nst-vhero .nst-intro { color: rgba(243,241,236,.86); max-width: 460px; }
.nami-area--stampa .nst-vhero .nst-btns { margin-top: 26px !important; }
.nami-area--stampa .nst-vhero .nst-btn .wp-block-button__link { background: #F3F1EC !important; color: var(--nst-ink) !important; border-color: #F3F1EC; }
.nami-area--stampa .nst-vhero .nst-btn .wp-block-button__link:hover { background: var(--nst-m) !important; color: #fff !important; border-color: var(--nst-m); }
.nami-area--stampa .nst-vhero .nst-btn-outline .wp-block-button__link { color: #F3F1EC !important; border-color: rgba(243,241,236,.7); }
.nami-area--stampa .nst-vhero .nst-btn-outline .wp-block-button__link:hover { background: #F3F1EC !important; color: var(--nst-ink) !important; }
.nami-area--stampa .nst-vhero .nami-vhero-note { font-family: var(--nst-mono); letter-spacing: .06em; text-transform: uppercase; }
.nami-area--stampa .nst-vhero .nami-vhero-note::before { content: ""; display: inline-block; width: 44px; height: 8px; margin-right: 12px; vertical-align: middle; background: var(--nst-cmyk); }
@media (max-width: 781px) {
	.nami-area--stampa .nst-vhero::after { --o: 10px; top: 84px; }
	.nami-area--stampa .nst-vhero .nst-title { font-size: clamp(64px, 20vw, 96px) !important; }
}
