/* Vetrinly web10 — fix Elementor / Hello theme conflicts */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap");

/* ── Fix Hello Elementor reset.css heading overrides ────────────────
   reset.css (unlayered): h1-h6 { font-weight: 500 }
                           h2 { font-size: 2rem }
                           h3 { font-size: 1.75rem }
   These beat Tailwind @layer font-size/weight classes. Fix with !important. */

/* "Sito web trasparente" heading (dark section) — font-size 6.25rem at lg,
   font-weight 700. Both beaten by reset.css h1 { font-size:2.5rem; weight:500 } */
#listino-trasparente h1 {
	font-size: clamp(3rem, 5vw, 6.25rem) !important;
	font-weight: 700 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.04em !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Hero heading "IL TUO SITO PROFESSIONALE" — font-size via inline style (OK),
   but font-weight: 800 (font-extrabold) is in @layer → needs override */
#il-pacchetto-vetrinly h2 {
	font-weight: 800 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* FAQ heading "Dubbi, Chiariti" — font-size AND font-weight need override */
#domande-frequenti h2 {
	font-size: clamp(2.25rem, 4vw, 3rem) !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Pricing card titles BASE/BUSINESS/PREMIUM — font-size via inline style (OK),
   but font-weight: 700 (font-bold) is in @layer → needs override */
#il-pacchetto-vetrinly h3 {
	font-weight: 700 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* ── FAQ decorative "?" SVG ─────────────────────────────────────────
   React animation sets stroke-dashoffset:200 (path invisible) and
   opacity:0 (dot invisible). Without React JS, they stay hidden.
   Override inline styles with !important to show statically. */

#domande-frequenti svg[viewBox="0 0 120 140"] {
	width: 7rem;
	height: 8rem;
	display: block;
}

#domande-frequenti svg[viewBox="0 0 120 140"] path {
	stroke-dasharray: none !important;
	stroke-dashoffset: 0 !important;
	transition: none !important;
}

#domande-frequenti svg[viewBox="0 0 120 140"] circle {
	opacity: 1 !important;
	transition: none !important;
}

/* ── Override CSS variables web10 (fuori da @layer — priorità alta) ── */
#pricing-root {
	--primary: oklch(21% .006 285.885);
	--primary-foreground: oklch(98.5% 0 0);
	--foreground: oklch(14.1% .005 285.823);
	--background: oklch(100% 0 0);
	--muted-foreground: oklch(55.2% .016 285.938);
	--border: oklch(92% .004 286.32);
	--accent-electric: hsl(195 100% 45%);
}

#pricing-root .dark {
	--primary: oklch(92% .004 286.32);
	--primary-foreground: oklch(21% .006 285.885);
	--foreground: oklch(98.5% 0 0);
	--background: oklch(14.1% .005 285.823);
	--muted-foreground: oklch(70.5% .015 286.067);
	--border: oklch(100% 0 0 / .1);
}

/* ── Fix Hello Elementor reset.css pink buttons (#c36) ──────────────────
   reset.css (unlayered) sets: button { border:1px solid #c36; color:#c36 }
   and: button:hover/focus { background-color:#c36 }
   Tailwind @layer utilities loses to unlayered CSS, so we fix with !important. */

/* 1. Kill Hello reset pink hover — exclude card CTAs and plan toggle */
#pricing-root button:not([data-slot="button"]):not([data-slot="toggle-group-item"]):hover,
#pricing-root button:not([data-slot="button"]):not([data-slot="toggle-group-item"]):focus {
	background-color: transparent !important;
	color: inherit !important;
	text-decoration: none !important;
}

/* ── BASE / BUSINESS plan toggle (#il-pacchetto-vetrinly) ─────────── */

#il-pacchetto-vetrinly [data-slot="toggle-group"] {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid oklch(92% .004 286.32) !important;
	padding: 0.25rem !important;
	border-radius: 0.375rem !important;
	background-color: #fff !important;
	gap: 0 !important;
}

#il-pacchetto-vetrinly [data-slot="toggle-group-item"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 0 !important;
	min-width: 5.5rem !important;
	height: auto !important;
	min-height: unset !important;
	padding: 0.75rem 1.5rem !important;
	font-family: "Space Mono", monospace !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: 0.375rem !important;
	cursor: pointer !important;
	background-color: transparent !important;
	color: #1a1a1a !important;
	white-space: nowrap !important;
	outline: none !important;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

#il-pacchetto-vetrinly [data-slot="toggle-group-item"]:hover:not([data-state="on"]) {
	background-color: oklch(96.7% .001 286.375) !important;
	color: #1a1a1a !important;
}

#il-pacchetto-vetrinly [data-slot="toggle-group-item"][data-state="on"] {
	background-color: #1a1a1a !important;
	color: #fafafa !important;
}

#il-pacchetto-vetrinly [data-slot="toggle-group-item"][data-state="on"]:hover,
#il-pacchetto-vetrinly [data-slot="toggle-group-item"][data-state="on"]:focus {
	background-color: #1a1a1a !important;
	color: #fafafa !important;
}

/* ── Pricing cards (#il-pacchetto-vetrinly) ─────────────────────────
   reset.css kills: li margins (→ no space-y-4), li font-size 100%,
   button display:inline-block, button font-size/padding/font-weight.
   Tailwind @layer utilities lose → explicit overrides here. */

#il-pacchetto-vetrinly {
	--font-sans: Inter, system-ui, sans-serif;
	--font-mono: "Space Mono", monospace;
	--font-default: Inter, system-ui, sans-serif;
}

/* Package label, subtitle, UNA TANTUM — Space Mono xs */
#il-pacchetto-vetrinly .font-mono.text-xs {
	font-family: "Space Mono", monospace !important;
	font-size: 0.75rem !important;
	line-height: 1rem !important;
}

#il-pacchetto-vetrinly .tracking-\[0\.12em\] {
	letter-spacing: 0.12em !important;
}

#il-pacchetto-vetrinly .tracking-\[0\.14em\] {
	letter-spacing: 0.14em !important;
}

/* Price — extrabold clamp size via inline style, fix weight only */
#il-pacchetto-vetrinly .text-muted-foreground {
	color: oklch(55.2% .016 285.938) !important;
}

/* "PIÙ RICHIESTO" badge on BUSINESS card */
#il-pacchetto-vetrinly div[data-index="1"] > span.absolute {
	font-family: "Space Mono", monospace !important;
	font-size: 0.6875rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	background-color: #1a1a1a !important;
	color: #fafafa !important;
}

/* Feature list — restore space-y-4 (1rem gap) killed by reset li{margin:0} */
#il-pacchetto-vetrinly ul.space-y-4 > li {
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
}

#il-pacchetto-vetrinly ul.space-y-4 > li:last-child {
	margin-bottom: 0 !important;
}

#il-pacchetto-vetrinly ul.space-y-4 {
	margin-bottom: 2.5rem !important;
}

/* Feature list items — text-sm + leading-snug */
#il-pacchetto-vetrinly ul li {
	font-family: Inter, system-ui, sans-serif !important;
	font-size: 0.875rem !important;
	line-height: 1.375 !important;
	color: oklch(14.1% .005 285.823) !important;
}

#il-pacchetto-vetrinly ul li span {
	font-size: inherit !important;
	line-height: inherit !important;
}

/* Card CTAs — restore inline-flex so arrow stays inside button */
#il-pacchetto-vetrinly div[data-index] [data-slot="button"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	width: 100% !important;
	font-family: "Space Mono", monospace !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 1.5rem 1rem !important;
	border-radius: 0.375rem !important;
	outline: none !important;
	white-space: nowrap !important;
}

/* BASE + PREMIUM — outline button */
#il-pacchetto-vetrinly div[data-index="0"] [data-slot="button"],
#il-pacchetto-vetrinly div[data-index="2"] [data-slot="button"] {
	border: 2px solid #1a1a1a !important;
	color: #1a1a1a !important;
	background-color: transparent !important;
}

#il-pacchetto-vetrinly div[data-index="0"] [data-slot="button"]:hover,
#il-pacchetto-vetrinly div[data-index="2"] [data-slot="button"]:hover {
	background-color: #1a1a1a !important;
	color: #fafafa !important;
	border-color: #1a1a1a !important;
}

#il-pacchetto-vetrinly div[data-index="0"] [data-slot="button"]:hover svg,
#il-pacchetto-vetrinly div[data-index="2"] [data-slot="button"]:hover svg {
	color: #fafafa !important;
	stroke: #fafafa !important;
}

/* BUSINESS (featured) — solid black button */
#il-pacchetto-vetrinly div[data-index="1"] [data-slot="button"] {
	background-color: #1a1a1a !important;
	color: #fafafa !important;
	border: 2px solid #1a1a1a !important;
}

#il-pacchetto-vetrinly div[data-index="1"] [data-slot="button"]:hover {
	background-color: #2a2a2a !important;
	color: #fafafa !important;
}

#il-pacchetto-vetrinly div[data-index] [data-slot="button"] svg {
	flex-shrink: 0 !important;
	width: 1rem !important;
	height: 1rem !important;
	margin-left: 0.5rem !important;
}

/* Portfolio nascosto (riattivare da vetrinly_web10_portfolio_enabled()) */
body.vetrinly-portfolio-hidden a[href*="/portfolio"],
body.vetrinly-portfolio-hidden .vetrinly-portfolio-link {
	display: none !important;
}

/* Sezione mappa/sede operativa nascosta (riattivare da vetrinly_web10_location_section_enabled()) */
body.vetrinly-location-hidden #dove-siamo-a-torino {
	display: none !important;
}

body.vetrinly-testimonials-hidden #cosa-dicono-i-nostri-clienti {
	display: none !important;
}

/* Decorazione X nella sezione CTA finale — solo grafica, nascosta */
#pronto-a-partire > svg.absolute[aria-hidden="true"] {
	display: none !important;
}

:root {
	--vetrinly-cyan: #00ace6;
	--accent-electric: #00ace6;
	--vetrinly-dark: hsl(220 20% 10%);
	--vetrinly-header-h: 72px;
	--vetrinly-footer-muted: rgba(249, 250, 250, 0.8);
	--vetrinly-footer-label: rgba(249, 250, 250, 0.6);
	--vetrinly-footer-link: rgba(249, 250, 250, 0.12);
	--vetrinly-footer-social: hsl(220 18% 22%);
	--vetrinly-footer-social-border: rgba(249, 250, 250, 0.2);
	--vetrinly-footer-link-hover: var(--vetrinly-cyan);
}

/* ── Reset Hello Elementor link color (#c36) ── */
.vetrinly-web10-wrap a,
#header-root a,
#footer-root a,
.elementor-location-header a,
.elementor-location-footer a {
	color: inherit;
	text-decoration: none;
}

/* ── Full-width Elementor wrappers ── */
.elementor-page .vetrinly-web10-wrap > .elementor-container,
.elementor-location-header .elementor-container,
.elementor-location-footer .elementor-container {
	max-width: 100% !important;
	padding: 0 !important;
}

.elementor-page .vetrinly-web10-wrap,
.elementor-location-header .elementor-section,
.elementor-location-footer .elementor-section {
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-widget-html .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 100% !important;
}

/* ── Fixed header ── */
body.vetrinly-web10-site {
	overflow-x: clip;
	padding-top: var(--vetrinly-header-h);
}

body.vetrinly-web10-site.admin-bar {
	padding-top: calc(var(--vetrinly-header-h) + 32px);
}

@media screen and (max-width: 782px) {
	body.vetrinly-web10-site.admin-bar {
		padding-top: calc(var(--vetrinly-header-h) + 46px);
	}
}

.elementor-location-header {
	position: static !important;
	background: transparent !important;
	z-index: 99999;
}

#header-vetrinly {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	width: 100%;
	height: var(--vetrinly-header-h);
	background: rgba(255, 255, 255, 0.96) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	transition: background 0.35s ease, box-shadow 0.35s ease, backdrop-filter 0.35s ease;
}

body.admin-bar #header-vetrinly {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar #header-vetrinly {
		top: 46px;
	}
}

#header-vetrinly.is-scrolled {
	background: rgba(255, 255, 255, 0.72) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
}

/* ── Header bar (layout web10: logo | menu | tel+CTA) ── */
.vetrinly-header-bar {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 1.25rem;
	width: 100%;
	max-width: 80rem;
	height: var(--vetrinly-header-h);
	margin-inline: auto;
	padding-inline: clamp(1rem, 2.5vw, 2.5rem);
	box-sizing: border-box;
}

.vetrinly-header-bar__logo {
	flex-shrink: 0;
}

.vetrinly-header-bar__logo img {
	display: block;
	height: 2rem;
	width: auto;
}

.vetrinly-header-bar__nav nav {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 0.25rem;
}

.vetrinly-header-bar__nav a,
.vetrinly-header-bar__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.75rem;
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.025em;
	text-transform: none;
	color: hsl(220 20% 15%) !important;
	white-space: nowrap;
	transition: color 0.25s ease;
}

.vetrinly-header-bar__nav a::after,
.vetrinly-header-bar__link::after {
	content: "";
	position: absolute;
	left: 0.75rem;
	right: 0.75rem;
	bottom: 0.375rem;
	height: 1px;
	background: hsl(220 20% 10%);
	width: 0;
	transition: width 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.vetrinly-header-bar__nav a:hover,
.vetrinly-header-bar__link:hover {
	color: hsl(220 20% 15%) !important;
}

.vetrinly-header-bar__nav a:hover::after,
.vetrinly-header-bar__link:hover::after {
	width: calc(100% - 1.5rem);
}

.vetrinly-header-bar__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-shrink: 0;
	gap: 0.75rem;
}

.vetrinly-header-bar__phone,
.vetrinly-header-bar__email {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.75rem;
	color: rgba(31, 36, 46, 0.8) !important;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.vetrinly-header-bar__phone:hover,
.vetrinly-header-bar__email:hover {
	color: rgba(31, 36, 46, 1) !important;
}

@media (hover: hover) and (pointer: fine) {
	a[href^="tel:"] {
		cursor: default;
	}
}

/* Tel in header web10 importato: niente blu/cyan al hover */
#header-root a[href^="tel:"],
#header-vetrinly a[href^="tel:"] {
	color: rgba(31, 36, 46, 0.8) !important;
	transition: color 0.2s ease;
}

#header-root a[href^="tel:"]:hover,
#header-vetrinly a[href^="tel:"]:hover {
	color: rgba(31, 36, 46, 1) !important;
}

.vetrinly-header-bar__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	height: 2.25rem;
	padding: 0 1rem;
	border-radius: 0.5rem;
	background: #000 !important;
	color: #fff !important;
	font-size: 0.8125rem;
	font-weight: 500;
	white-space: nowrap;
	transition: background 0.2s ease;
}

.vetrinly-header-bar__cta svg {
	flex-shrink: 0;
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.vetrinly-header-bar__cta:hover {
	background: rgba(0, 0, 0, 0.88) !important;
	color: #fff !important;
}

.vetrinly-header-bar__cta:hover svg {
	transform: translateX(4px);
}

@media (max-width: 1023px) {
	.vetrinly-header-bar {
		grid-template-columns: auto 1fr;
		height: 64px;
	}

	.vetrinly-header-bar__nav {
		display: none;
	}

	.vetrinly-header-bar__phone,
	.vetrinly-header-bar__email {
		display: none;
	}
}

/* Legacy header rules (fallback se barra non importata) */

/* ── Hide duplicate footer in page content ── */
#home-root #footer-torino,
#services-root #footer-torino,
#portfolio-root #footer-torino,
#pricing-root #footer-torino,
#contact-root #footer-torino {
	display: none !important;
}

/* ── Footer (HTML generato in PHP, layout BEM) ── */
#footer-root,
#footer-torino,
.vetrinly-footer {
	background-color: var(--vetrinly-dark) !important;
	color: #f9fafa !important;
	width: 100%;
}

.vetrinly-footer {
	position: relative;
	padding: 5rem 0;
	box-sizing: border-box;
}

.vetrinly-footer__strip {
	display: none !important;
}

[style*="repeating-linear-gradient(45deg"] {
	display: none !important;
}

.vetrinly-form-privacy {
	margin-bottom: 1.25rem;
}

.vetrinly-form-privacy__label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #475569;
}

.vetrinly-form-privacy__label input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.vetrinly-form-privacy__label a {
	color: hsl(195 100% 45%);
	text-decoration: underline;
}

.vetrinly-form-privacy__note {
	margin-top: 0.75rem;
	font-size: 0.875rem;
}

.vetrinly-form-privacy__note--error {
	color: #dc2626;
}

.vetrinly-form-privacy__note--success {
	color: #059669;
}

.vetrinly-cookie-banner {
	position: fixed;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	z-index: 99999;
	max-width: 42rem;
	margin-inline: auto;
	padding: 1rem 1.25rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18);
}

.vetrinly-cookie-banner__inner p {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #334155;
}

.vetrinly-cookie-banner__inner a {
	color: hsl(195 100% 45%);
}

.vetrinly-cookie-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.vetrinly-cookie-banner__btn {
	border: 1px solid #cbd5e1;
	border-radius: 0.5rem;
	padding: 0.5rem 0.875rem;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	background: #fff;
	color: #0f172a;
}

.vetrinly-cookie-banner__btn--accept {
	background: hsl(195 100% 45%);
	border-color: hsl(195 100% 45%);
	color: #fff;
}

.vetrinly-cookie-banner__btn--decline {
	background: #fff;
	border-color: #cbd5e1;
	color: #334155;
}

.vetrinly-cookie-banner__option--disabled {
	opacity: 0.55;
}

.vetrinly-legal-page {
	max-width: 48rem;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
	color: #1e293b;
	line-height: 1.7;
}

.vetrinly-legal-page h2 {
	margin: 2rem 0 0.75rem;
	font-size: 1.25rem;
	font-weight: 700;
	color: #0f172a;
}

.vetrinly-legal-page p,
.vetrinly-legal-page li {
	font-size: 1rem;
	color: #334155;
}

.vetrinly-legal-page ul {
	margin: 0.75rem 0 1rem 1.25rem;
	padding: 0;
}

.vetrinly-legal-page a {
	color: hsl(195 100% 40%);
}

.vetrinly-cookie-banner__title {
	margin: 0 0 0.35rem;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #0f172a;
}

.vetrinly-cookie-banner__panel {
	margin: 0 0 1rem;
	padding: 0.875rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	background: #f8fafc;
}

.vetrinly-cookie-banner__panel-title {
	margin: 0 0 0.75rem;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
}

.vetrinly-cookie-banner__option {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	color: #334155;
}

.vetrinly-cookie-settings-link {
	position: fixed;
	left: 1rem;
	bottom: 1rem;
	z-index: 99998;
	border: 0;
	background: transparent;
	color: #64748b;
	font-size: 0.75rem;
	text-decoration: underline;
	cursor: pointer;
	padding: 0;
}

.vetrinly-whatsapp-float {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 99997;
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.75rem 1rem;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 10px 30px rgba(37, 211, 102, 0.35);
	font-size: 0.875rem;
	font-weight: 600;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vetrinly-whatsapp-float:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(37, 211, 102, 0.42);
	color: #fff;
}

.vetrinly-whatsapp-float__icon {
	display: inline-flex;
	width: 1.5rem;
	height: 1.5rem;
}

@media (max-width: 640px) {
	.vetrinly-whatsapp-float__label {
		display: none;
	}

	.vetrinly-whatsapp-float {
		width: 3.5rem;
		height: 3.5rem;
		padding: 0;
		justify-content: center;
		border-radius: 50%;
	}

	.vetrinly-cookie-settings-link {
		bottom: 5rem;
	}
}

.vetrinly-footer__inner {
	width: 100%;
	max-width: 1360px;
	margin-inline: auto;
	padding: 2rem 1.5rem 0;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.vetrinly-footer__inner {
		padding-inline: 2.5rem;
	}
}

@media (min-width: 1024px) {
	.vetrinly-footer__inner {
		padding-inline: 4rem;
	}
}

.vetrinly-footer__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	align-items: start;
}

.vetrinly-footer__columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
}

.vetrinly-footer__aside {
	margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
	.vetrinly-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.vetrinly-footer__layout {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 2.5rem;
		align-items: start;
	}

	.vetrinly-footer__columns {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 1.15fr);
		gap: 2rem;
	}

	.vetrinly-footer__aside {
		justify-self: end;
		width: max-content;
		max-width: 19rem;
		padding-left: 0;
		margin-bottom: 1.5rem;
		box-sizing: border-box;
	}
}

.vetrinly-footer__logo {
	display: inline-block;
	margin-bottom: 1.5rem;
}

.vetrinly-footer__logo img {
	display: block;
	height: 2rem;
	width: auto;
	opacity: 0.8;
}

.vetrinly-footer__heading {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--vetrinly-footer-label);
}

.vetrinly-footer__heading-dot {
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	background: var(--vetrinly-cyan);
}

.vetrinly-footer__address {
	font-style: normal;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.875rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vetrinly-footer-muted);
}

.vetrinly-footer__address a {
	color: var(--vetrinly-footer-link) !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

.vetrinly-footer__address a:hover {
	color: var(--vetrinly-footer-link-hover) !important;
}

.vetrinly-footer__links {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vetrinly-footer-link {
	position: relative;
	display: inline-block;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vetrinly-footer-link) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.vetrinly-footer-link span {
	color: inherit;
}

.vetrinly-footer-link:hover,
.vetrinly-footer-link:focus-visible {
	color: var(--vetrinly-footer-link-hover) !important;
}

.vetrinly-footer-link__line {
	position: absolute;
	left: 0;
	bottom: -0.25rem;
	display: block;
	width: 0;
	height: 1px;
	background: var(--vetrinly-cyan);
	transition: width 0.3s ease;
}

.vetrinly-footer-link:hover .vetrinly-footer-link__line {
	width: 100%;
}

.vetrinly-footer__hours {
	width: 100%;
}

.vetrinly-footer__hours-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(249, 250, 250, 0.1);
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vetrinly-footer-muted);
}

.vetrinly-footer__hours-day {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

.vetrinly-footer__hours-dot {
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	background: transparent;
}

.vetrinly-footer__hours-time {
	flex-shrink: 0;
	white-space: nowrap;
	text-align: right;
}

.vetrinly-footer__hours-row:last-child {
	border-bottom: 0;
}

.vetrinly-footer__cta-title {
	display: block;
	margin-bottom: 1.5rem;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.65rem, 2.8vw, 2.5rem);
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: -0.02em;
	color: var(--vetrinly-cyan) !important;
	text-decoration: none !important;
}

.vetrinly-footer__cta-sub {
	display: block;
	margin-top: 0.5rem;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(249, 250, 250, 0.5);
	transition: color 0.2s ease;
}

.vetrinly-footer__cta-title:hover .vetrinly-footer__cta-sub {
	color: var(--vetrinly-cyan);
}

.vetrinly-footer__cta-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	margin-top: 0;
}

.vetrinly-footer__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	padding: 0.875rem 1.75rem;
	border-radius: 0.375rem;
	background: var(--vetrinly-cyan) !important;
	color: #fff !important;
	font-family: system-ui, -apple-system, sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

.vetrinly-footer__btn:hover {
	background: hsl(195 100% 35%) !important;
	color: #fff !important;
}

.vetrinly-footer__social {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 2rem;
}

.vetrinly-footer__social-item,
.vetrinly-footer__social a,
.vetrinly-footer__social-pending {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	box-sizing: border-box;
	border: 1px solid var(--vetrinly-footer-social-border);
	background: transparent;
	color: var(--vetrinly-footer-social) !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.vetrinly-footer__social-item svg,
.vetrinly-footer__social a svg,
.vetrinly-footer__social-pending svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
	flex-shrink: 0;
	opacity: 1;
}

.vetrinly-footer__social a:hover,
.vetrinly-footer__social a:focus-visible,
.vetrinly-footer__social-item:hover,
.vetrinly-footer__social-item:focus-visible {
	background: var(--vetrinly-cyan) !important;
	border-color: var(--vetrinly-cyan) !important;
	color: #fff !important;
}

.vetrinly-footer__social-pending {
	cursor: default;
}

.vetrinly-footer__bar {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 5rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(249, 250, 250, 0.5);
}

.vetrinly-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.vetrinly-footer__legal a {
	color: var(--vetrinly-footer-link) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.vetrinly-footer__legal a:hover,
.vetrinly-footer__legal a:focus-visible {
	color: var(--vetrinly-footer-link-hover) !important;
}

.vetrinly-footer__legal-sep {
	width: 1px;
	height: 12px;
	background: rgba(249, 250, 250, 0.2);
}

@media (min-width: 768px) {
	.vetrinly-footer__bar {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* ── Hero: nascondi caption TORINO PIEMONTE WEB AGENCY ── */
#il-tuo-sito-in-24-ore [class*="bottom-8"][class*="left-8"],
#il-tuo-sito-in-24-ore .lg\:hidden.font-mono {
	display: none !important;
}

/* ── Hero layout ── */
@media (min-width: 1024px) {
	#il-tuo-sito-in-24-ore .grid.lg\:grid-cols-12 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	#il-tuo-sito-in-24-ore .lg\:col-span-9,
	#il-tuo-sito-in-24-ore .lg\:col-span-3 {
		grid-column: span 1 / span 1 !important;
		max-width: 100%;
		min-width: 0;
	}
}

/* ── Quattro passi: titolo grande come web10 ── */
#quattro-passi-verso-lonline h2 {
	font-size: clamp(3rem, 7vw, 6rem) !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.03em !important;
	text-transform: uppercase !important;
}

#il-tuo-sito-in-24-ore h1 {
	font-size: clamp(2rem, 4.2vw, 3.25rem) !important;
	max-width: 100%;
	overflow-wrap: break-word;
}

/* Hero CTA — larghezza contenuto (non full-width) */
#il-tuo-sito-in-24-ore .mt-16.flex.flex-col,
#il-tuo-sito-in-24-ore div[class*="flex-col"][class*="gap-4"] {
	align-items: flex-start !important;
	width: 100%;
}

#il-tuo-sito-in-24-ore .mt-16.flex.flex-col > a,
#il-tuo-sito-in-24-ore div[class*="flex-col"][class*="gap-4"] > a {
	display: inline-flex !important;
	width: auto !important;
	max-width: none;
	align-self: flex-start;
}

#il-tuo-sito-in-24-ore a[style*="hsl(195 100% 45%)"] {
	background-color: var(--vetrinly-cyan) !important;
	color: #fff !important;
	border: none !important;
}

#il-tuo-sito-in-24-ore a[style*="hsl(195 100% 45%)"]:hover {
	filter: brightness(1.05);
	box-shadow: 0 8px 24px rgba(0, 180, 220, 0.25);
	color: #fff !important;
}

/* Prenota una chiamata — bordo, hover scuro come web10 */
#il-tuo-sito-in-24-ore a.border-foreground,
#il-tuo-sito-in-24-ore a[class*="border-foreground"]:not([style*="hsl(195"]) {
	background: transparent !important;
	border: 1px solid hsl(220 20% 10%) !important;
	color: hsl(220 20% 10%) !important;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

#il-tuo-sito-in-24-ore a.border-foreground:hover,
#il-tuo-sito-in-24-ore a[class*="border-foreground"]:not([style*="hsl(195"]):hover {
	background: hsl(220 20% 10%) !important;
	border-color: hsl(220 20% 10%) !important;
	color: #fff !important;
}

/* ── Testimonials / sezione scura con decorazioni ── */
#cosa-dicono-i-nostri-clienti {
	min-height: 400px;
}

/* ── Scroll reveal (sostituisce animazioni React web10) ── */
.vetrinly-reveal-pending {
	will-change: opacity, transform;
}

.vetrinly-in-view {
	transform: translate3d(0, 0, 0) !important;
}

/* ── Servizi: workflow intro (come web10) ── */
#cosa-include-il-tuo-sito .mb-20.vetrinly-workflow-intro,
#cosa-include-il-tuo-sito .mb-20 {
	will-change: opacity, transform;
}

#cosa-include-il-tuo-sito .mb-20 .h-px.w-12 {
	width: 3rem;
	height: 1px;
	background-color: hsl(220 10% 78%);
	flex-shrink: 0;
}

#cosa-include-il-tuo-sito .mb-20 .font-mono {
	font-family: "Space Mono", ui-monospace, monospace !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.3em !important;
	color: hsl(220 10% 45%) !important;
	text-transform: uppercase;
}

#cosa-include-il-tuo-sito .mb-20 h2 {
	font-size: 3rem !important;
	text-transform: uppercase;
	letter-spacing: -0.025em;
	line-height: 0.9;
	color: var(--foreground, hsl(220 25% 10%)) !important;
	margin-bottom: 1.5rem;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.35em;
}

#cosa-include-il-tuo-sito .mb-20 h2 .vetrinly-heading-sans {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
	font-style: normal !important;
	font-weight: 700 !important;
}

#cosa-include-il-tuo-sito .mb-20 h2 .vetrinly-heading-serif {
	font-family: "Playfair Display", Georgia, serif !important;
	font-style: italic !important;
	font-weight: 700 !important;
	font-synthesis: style;
	letter-spacing: -0.025em;
}

@media (min-width: 768px) {
	#cosa-include-il-tuo-sito .mb-20 h2 {
		font-size: 4.5rem !important;
	}
}

@media (min-width: 1024px) {
	#cosa-include-il-tuo-sito .mb-20 h2 {
		font-size: 6rem !important;
	}
}

#cosa-include-il-tuo-sito .mb-20 > p,
#cosa-include-il-tuo-sito .mb-20 > p.font-default {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem) !important;
	color: hsl(220 10% 45%) !important;
	line-height: 1.625;
	max-width: 42rem;
}

/* ── Servizi: workflow + CTA ── */
#cosa-include-il-tuo-sito .max-w-\[1400px\] {
	max-width: 1400px;
	margin-inline: auto;
}

#cosa-include-il-tuo-sito .grid.lg\:grid-cols-\[1fr_340px\] {
	align-items: start;
	grid-template-columns: 1fr !important;
}

/* Nascondi scheda pacchetto laterale (servizi) */
#cosa-include-il-tuo-sito .lg\:relative > .lg\:sticky {
	display: none !important;
}

/* Hero servizi: niente glow sfocato sul numero */
#tempi-e-consegna [style*="text-shadow"] {
	text-shadow: none !important;
}

#tempi-e-consegna [style*="drop-shadow"] {
	filter: none !important;
}

/* Card Pacchetto — come web10: sans-serif, compatta, checkbox grigie vuote */
#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] {
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
	padding: 1.75rem 1.5rem !important;
	gap: 1rem !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] h3,
#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .font-default,
#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] p,
#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] li span {
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] h3 {
	font-size: 1.375rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: hsl(220 25% 15%) !important;
	line-height: 1.2 !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] > p.font-default {
	font-size: 0.875rem !important;
	color: hsl(220 10% 45%) !important;
	line-height: 1.5 !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .border-b .font-mono,
#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .border-b .text-accent-electric,
#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .border-b p {
	font-family: "Space Mono", ui-monospace, monospace !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.25em !important;
	color: hsl(220 18% 22%) !important;
	text-transform: uppercase;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .lucide-radio {
	color: hsl(220 18% 22%) !important;
	stroke: hsl(220 18% 22%) !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
}

/* Step cards: numeri e icone scuri, non blu */
#cosa-include-il-tuo-sito [data-slot="card"][data-index] .text-accent-electric,
#cosa-include-il-tuo-sito [data-slot="card"][data-index] .font-mono {
	color: hsl(220 18% 22%) !important;
}

#cosa-include-il-tuo-sito [data-slot="card"][data-index] svg.text-accent-electric,
#cosa-include-il-tuo-sito [data-slot="card"][data-index] .lucide.text-accent-electric {
	color: hsl(220 18% 22%) !important;
	stroke: hsl(220 18% 22%) !important;
}

#cosa-include-il-tuo-sito [data-slot="card"][data-index] .bg-accent-electric {
	display: none !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] [data-slot="checkbox"] {
	width: 0.75rem !important;
	height: 0.75rem !important;
	min-width: 0.75rem !important;
	max-width: 0.75rem !important;
	min-height: 0.75rem !important;
	max-height: 0.75rem !important;
	flex-shrink: 0 !important;
	padding: 0 !important;
	margin-top: 0.2rem !important;
	background: transparent !important;
	border: 1px solid rgba(0, 0, 0, 0.12) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	color: transparent !important;
	aspect-ratio: 1 / 1 !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] [data-slot="checkbox-indicator"],
#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] [data-slot="checkbox"] svg {
	display: none !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] ul {
	gap: 0.7rem !important;
	margin-top: 0.15rem !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] li span {
	font-size: 0.8125rem !important;
	color: hsl(220 15% 28%) !important;
	line-height: 1.4 !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .border-t {
	margin-top: 0.75rem !important;
	padding-top: 1rem !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .border-t .font-mono {
	font-family: "Space Mono", ui-monospace, monospace !important;
	font-size: 0.65rem !important;
	letter-spacing: 0.15em !important;
	color: hsl(220 10% 55%) !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .border-t .text-accent-electric {
	color: hsl(220 10% 55%) !important;
}

#cosa-include-il-tuo-sito .lg\:sticky [data-slot="card"] .size-2.bg-accent-electric {
	display: none !important;
}

#richiedi-maggiori-info {
	background-color: hsl(220 20% 10%) !important;
	color: #f9fafa !important;
}

#richiedi-maggiori-info .md\:col-span-4 > .flex {
	flex-direction: column !important;
	align-items: flex-start !important;
	overflow: visible !important;
	gap: 1.25rem !important;
}

#richiedi-maggiori-info [data-index="0"] {
	transform: translateX(0);
}

@media (min-width: 768px) {
	#richiedi-maggiori-info [data-index="1"] {
		transform: translateX(2rem);
	}

	#richiedi-maggiori-info [data-index="2"] {
		transform: translateX(4rem);
	}
}

#richiedi-maggiori-info .relative > img {
	display: block;
}

/* ── Steps: 4 card affiancate senza scroll ── */
#quattro-passi-verso-lonline {
	overflow: hidden !important;
}

#quattro-passi-verso-lonline [data-slot="scroll-area"],
#quattro-passi-verso-lonline [data-slot="scroll-area-viewport"],
#quattro-passi-verso-lonline [style*="overflow-x"] {
	overflow: visible !important;
}

#quattro-passi-verso-lonline div[style*="min-width:100%"] {
	display: block !important;
	min-width: 0 !important;
	width: 100% !important;
}

@media (min-width: 768px) {
	#quattro-passi-verso-lonline .flex.gap-6.snap-x,
	#quattro-passi-verso-lonline .flex.gap-6.pb-6 {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: clamp(0.75rem, 1.5vw, 1.5rem) !important;
		width: 100% !important;
		padding-inline: 0 !important;
		scroll-snap-type: none !important;
	}

	#quattro-passi-verso-lonline [data-slot="card"],
	#quattro-passi-verso-lonline .w-\[320px\] {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-shrink: 1 !important;
		height: auto !important;
		min-height: clamp(380px, 32vw, 500px) !important;
	}

	#quattro-passi-verso-lonline [data-slot="card"] img,
	#quattro-passi-verso-lonline .w-\[320px\] img {
		width: 100%;
		height: auto;
		max-height: 200px;
		object-fit: cover;
	}
}

@media (max-width: 767px) {
	#quattro-passi-verso-lonline .flex.gap-6.snap-x {
		display: flex !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
		padding-bottom: 0.5rem;
		-webkit-overflow-scrolling: touch;
	}

	#quattro-passi-verso-lonline [data-slot="card"] {
		flex: 0 0 85vw !important;
		max-width: 320px;
	}
}

/* ── Pricing toggle ── */
#lofferta-tutto-incluso [role="switch"] {
	display: inline-flex !important;
	height: 1.15rem !important;
	width: 2rem !important;
	cursor: pointer;
	border-radius: 9999px;
	background-color: #d1d5db !important;
	border: 1px solid #d1d5db;
}

#lofferta-tutto-incluso [role="switch"][aria-checked="true"] {
	background-color: #2563eb !important;
	border-color: #2563eb;
}

#lofferta-tutto-incluso [data-slot="switch-thumb"] {
	display: block !important;
	width: 1rem !important;
	height: 1rem !important;
	border-radius: 9999px;
	background: #fff !important;
	transition: transform 0.2s ease;
}

#lofferta-tutto-incluso [role="switch"][aria-checked="true"] [data-slot="switch-thumb"] {
	transform: translateX(calc(100% - 2px));
}

#lofferta-tutto-incluso {
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%) !important;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] {
	gap: 1.25rem !important;
}

@media (min-width: 1024px) {
	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] {
		gap: 1.5rem !important;
	}
}

#lofferta-tutto-incluso button[data-slot="button"],
#lofferta-tutto-incluso a[data-slot="button"],
#lofferta-tutto-incluso a.vetrinly-pricing-cta {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	width: 100% !important;
	min-height: 3rem !important;
	border-radius: 0.75rem !important;
	border: 2px solid #2563eb !important;
	color: #2563eb !important;
	background: #fff !important;
	padding: 0.75rem 1.25rem !important;
	line-height: 1.25 !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease !important;
}

#lofferta-tutto-incluso button[data-slot="button"]:hover,
#lofferta-tutto-incluso a[data-slot="button"]:hover,
#lofferta-tutto-incluso a.vetrinly-pricing-cta:hover {
	background-color: #eff6ff !important;
	color: #1d4ed8 !important;
	border-color: #1d4ed8 !important;
	transform: translateY(-1px);
}

#lofferta-tutto-incluso button[data-slot="button"] svg,
#lofferta-tutto-incluso a[data-slot="button"] svg,
#lofferta-tutto-incluso a.vetrinly-pricing-cta svg {
	flex: 0 0 auto !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0 !important;
}

/* Pacchetti — stile card tipo Hostinger */
@media (min-width: 768px) {
	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] {
		align-items: stretch !important;
		overflow: visible;
		padding-bottom: 0.5rem;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index] {
		margin-top: 0 !important;
		height: auto !important;
		align-self: stretch !important;
		display: flex !important;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] {
		z-index: 3 !important;
		position: relative !important;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index] > div.relative.rounded-lg {
		display: flex !important;
		flex-direction: column !important;
		flex: 1 1 auto !important;
		width: 100% !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 1rem !important;
		background-color: #fff !important;
		padding: 2rem 1.5rem 1.5rem !important;
		box-shadow:
			0 1px 2px rgba(15, 23, 42, 0.04),
			0 8px 24px rgba(15, 23, 42, 0.06) !important;
		transform: none !important;
		transition: box-shadow 0.25s ease, transform 0.25s ease !important;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index] > div.relative.rounded-lg:hover {
		box-shadow:
			0 2px 4px rgba(15, 23, 42, 0.05),
			0 12px 32px rgba(15, 23, 42, 0.08) !important;
	}

	/* Business — card in evidenza (tema scuro, come Hostinger) */
	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] > div.relative.rounded-lg {
		background: linear-gradient(165deg, #0f172a 0%, #1e293b 100%) !important;
		border-color: #0f172a !important;
		box-shadow:
			0 4px 6px rgba(15, 23, 42, 0.12),
			0 20px 48px rgba(15, 23, 42, 0.18) !important;
		padding-top: 2.25rem !important;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] > div.relative.rounded-lg:hover {
		box-shadow:
			0 8px 12px rgba(15, 23, 42, 0.14),
			0 24px 56px rgba(15, 23, 42, 0.22) !important;
		transform: translateY(-2px) !important;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] > span.absolute {
		display: none !important;
	}
}

#lofferta-tutto-incluso .mt-2.font-mono.text-xs {
	display: none !important;
}

#lofferta-tutto-incluso .vetrinly-home-price-shell + .font-mono {
	display: none !important;
}

@media (max-width: 767px) {
	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index] {
		margin-top: 0 !important;
		transform: none !important;
		display: block !important;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index] > div.relative.rounded-lg {
		transform: none !important;
		border-radius: 1rem !important;
		padding: 1.5rem 1.25rem 1.25rem !important;
		margin-bottom: 1rem;
		box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
	}

	#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] > div.relative.rounded-lg {
		background: linear-gradient(165deg, #0f172a 0%, #1e293b 100%) !important;
		border-color: #0f172a !important;
	}
}

#lofferta-tutto-incluso .bg-blue-600.text-white {
	background-color: #2563eb !important;
	color: #fff !important;
}

#lofferta-tutto-incluso .mt-10:has([role="switch"]) {
	display: none !important;
}

#lofferta-tutto-incluso .relative.rounded-lg > h3.font-default {
	font-size: 1.625rem !important;
	line-height: 1.15 !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	letter-spacing: -0.03em !important;
	margin: 0 !important;
	padding-right: 4.5rem;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .relative.rounded-lg > h3.font-default {
	font-size: 1.75rem !important;
	color: #fff !important;
}

#lofferta-tutto-incluso .relative.rounded-lg > p.mt-2.text-sm {
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: #64748b !important;
	margin-top: 0.5rem !important;
	min-height: 2.85rem;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .relative.rounded-lg > p.mt-2.text-sm {
	color: #cbd5e1 !important;
}

#lofferta-tutto-incluso .relative.rounded-lg > .absolute.-top-5 {
	top: 0 !important;
	left: 1.5rem !important;
	right: auto !important;
	transform: none !important;
}

#lofferta-tutto-incluso .relative.rounded-lg > .absolute.-top-5 > div {
	border-radius: 999px !important;
	padding: 0.35rem 0.85rem !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35) !important;
}

#lofferta-tutto-incluso .my-6.flex.items-center {
	margin-top: 1.25rem !important;
	margin-bottom: 1.25rem !important;
}

#lofferta-tutto-incluso ul.space-y-3 {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.65rem !important;
	margin: 0 0 1.25rem !important;
	flex: 1 1 auto !important;
}

#lofferta-tutto-incluso ul.space-y-3 > li {
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
	color: #334155 !important;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] ul.space-y-3 > li {
	color: #e2e8f0 !important;
}

#lofferta-tutto-incluso ul.space-y-3 > li > span[aria-hidden="true"] {
	background: #eff6ff !important;
	border-radius: 999px !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	margin-top: 0.1rem !important;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] ul.space-y-3 > li > span[aria-hidden="true"] {
	background: rgba(59, 130, 246, 0.2) !important;
	color: #93c5fd !important;
}

#lofferta-tutto-incluso .mt-8:has([data-slot="button"]),
#lofferta-tutto-incluso .mt-8:has(.vetrinly-pricing-cta) {
	margin-top: auto !important;
	padding-top: 0.25rem !important;
}

/* Business — CTA pieno */
#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] a[data-slot="button"],
#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] a.vetrinly-pricing-cta {
	background: #2563eb !important;
	border-color: #2563eb !important;
	color: #fff !important;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] a[data-slot="button"]:hover,
#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] a.vetrinly-pricing-cta:hover {
	background: #1d4ed8 !important;
	border-color: #1d4ed8 !important;
	color: #fff !important;
}

.vetrinly-pricing-notes-wrap {
	clear: both;
	width: 100%;
	max-width: 42rem;
	margin: 3rem auto 0;
	padding: 2rem 1rem 0;
	border-top: 1px solid #e2e8f0;
	text-align: center;
}

.vetrinly-pricing-launch-note {
	margin: 0 0 1rem;
}

.vetrinly-pricing-launch-note__pill {
	display: inline-block;
	padding: 0.4rem 0.95rem;
	border-radius: 999px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	font-size: 0.8125rem;
	line-height: 1.35;
	font-weight: 600;
	color: #1d4ed8;
	letter-spacing: 0.01em;
}

.vetrinly-pricing-footnote {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.65;
	color: #64748b;
}

.vetrinly-pricing-expand-note {
	margin: 0 0 1rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #334155;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

.vetrinly-pricing-expand-note strong {
	color: #0f172a;
	font-weight: 700;
}

.vetrinly-faq-section {
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
	padding: 4.5rem 0 5rem;
	scroll-margin-top: 6rem;
}

.vetrinly-faq-section--page {
	padding: 2.5rem 0 4rem;
	background: #f8fafc;
}

.vetrinly-faq-page-hero {
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
	padding: 4.5rem 0 2rem;
	border-bottom: 1px solid #e2e8f0;
}

.vetrinly-faq-page-hero__inner {
	max-width: 42rem;
	margin: 0 auto;
	padding: 0 1.25rem;
	text-align: center;
}

.vetrinly-faq-page-hero__eyebrow {
	margin: 0 0 0.75rem;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2563eb;
}

.vetrinly-faq-page-hero__title {
	margin: 0 0 0.85rem;
	font-size: clamp(2.25rem, 5vw, 3.25rem);
	line-height: 1.05;
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.03em;
}

.vetrinly-faq-page-hero__title-serif {
	font-family: "Playfair Display", Georgia, serif;
	font-style: italic;
	font-weight: 500;
}

.vetrinly-faq-page-hero__intro {
	margin: 0 auto;
	max-width: 34rem;
	font-size: 1rem;
	line-height: 1.65;
	color: #64748b;
}

.vetrinly-faq-section__title--page {
	margin: 0 0 1.25rem;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.5rem, 3vw, 1.875rem);
	font-weight: 600;
	text-align: center;
	color: #0f172a;
}

.vetrinly-support-section {
	padding: 0 0 5rem;
	background: #f8fafc;
}

.vetrinly-support-section__inner {
	max-width: 42rem;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.vetrinly-support-section__card {
	border: 1px solid #dbeafe;
	border-radius: 1rem;
	background: linear-gradient(165deg, #eff6ff 0%, #fff 100%);
	padding: 2rem 1.75rem;
	box-shadow: 0 8px 28px rgba(37, 99, 235, 0.08);
	text-align: center;
}

.vetrinly-support-section__eyebrow {
	margin: 0 0 0.5rem;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2563eb;
}

.vetrinly-support-section__title {
	margin: 0 0 0.75rem;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.5rem, 3vw, 1.875rem);
	font-weight: 600;
	color: #0f172a;
}

.vetrinly-support-section__intro {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #475569;
}

.vetrinly-support-section__line {
	margin: 0 0 0.65rem;
	font-size: 1rem;
	line-height: 1.5;
	color: #0f172a;
}

.vetrinly-support-section__label {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #64748b;
}

.vetrinly-support-section__email {
	font-size: 1.125rem;
	font-weight: 700;
	color: #2563eb;
	text-decoration: none;
}

.vetrinly-support-section__email:hover {
	color: #1d4ed8;
	text-decoration: underline;
}

.vetrinly-support-section__hours {
	margin: 1rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: #64748b;
}

.vetrinly-support-section__note {
	margin: 1.25rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid #e2e8f0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #64748b;
}

.vetrinly-support-section__note a {
	color: #2563eb;
	font-weight: 600;
	text-decoration: none;
}

.vetrinly-support-section__note a:hover {
	text-decoration: underline;
}

.vetrinly-faq-section__inner {
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.vetrinly-faq-section__header {
	text-align: center;
	margin-bottom: 2rem;
}

.vetrinly-faq-section__eyebrow {
	margin: 0 0 0.75rem;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2563eb;
}

.vetrinly-faq-section__title {
	margin: 0 0 0.75rem;
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.08;
	font-weight: 500;
	color: #0f172a;
	letter-spacing: -0.03em;
}

.vetrinly-faq-section__title-sans {
	font-family: Inter, system-ui, sans-serif;
	font-weight: 700;
}

.vetrinly-faq-section__title-serif {
	font-family: "Playfair Display", Georgia, serif;
	font-style: italic;
	font-weight: 500;
}

.vetrinly-faq-section__intro {
	margin: 0 auto;
	max-width: 32rem;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #64748b;
}

.vetrinly-faq-section .vetrinly-faq {
	border: 1px solid #e2e8f0;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

.vetrinly-home-price-shell {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	min-height: 0;
	margin-top: 1.25rem !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
}

.vetrinly-home-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.2rem;
	min-height: 0;
	width: 100%;
}

.vetrinly-home-price__amount-row {
	display: inline-flex;
	align-items: baseline;
	justify-content: flex-start;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.vetrinly-home-price__discount,
.vetrinly-package-card__discount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #1d4ed8;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	padding: 0.3rem 0.55rem;
	border-radius: 999px;
	white-space: nowrap;
}

#lofferta-tutto-incluso .relative.rounded-lg .vetrinly-home-price__discount {
	position: absolute;
	top: 1.35rem;
	right: 1.35rem;
	margin: 0;
	z-index: 2;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-home-price__discount {
	background: rgba(59, 130, 246, 0.15);
	border-color: rgba(147, 197, 253, 0.45);
	color: #bfdbfe;
}

.vetrinly-home-price__from,
.vetrinly-package-card__from {
	display: block;
	width: 100%;
	font-size: 0.8125rem;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #64748b;
	font-family: inherit;
	margin-bottom: 0.2rem;
}

.vetrinly-package-card__from {
	width: auto;
	margin-right: 0.15rem;
}

.vetrinly-home-price__standard {
	font-size: 1.0625rem;
	line-height: 1;
	color: #94a3b8;
	text-decoration: line-through;
	font-family: inherit;
	font-weight: 500;
}

.vetrinly-home-price__launch {
	font-size: 3rem;
	line-height: 1;
	font-weight: 800;
	color: #0f172a;
	font-family: inherit;
	letter-spacing: -0.04em;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-home-price__launch,
#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-home-price__from,
#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-home-price__standard {
	color: #f8fafc !important;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-home-price__standard {
	opacity: 0.55;
}

#lofferta-tutto-incluso .vetrinly-home-price-shell .text-primary,
#lofferta-tutto-incluso .vetrinly-home-price-shell .text-gray-900 {
	display: none !important;
}

.vetrinly-package-card__price-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.5rem;
}

.vetrinly-package-card__price-standard {
	font-size: 0.875rem;
	color: #94a3b8;
	text-decoration: line-through;
	font-weight: 600;
}

.vetrinly-package-card__price-badge {
	display: inline-block;
	font-size: 0.625rem;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #2563eb;
	font-weight: 700;
}

.vetrinly-assistenza-addon {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e2e8f0;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon {
	border-top-color: rgba(148, 163, 184, 0.25);
}

.vetrinly-assistenza-addon__title {
	margin: 0 0 0.6rem;
	font-size: 0.6875rem;
	font-family: inherit;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #64748b;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon__title {
	color: #94a3b8;
}

.vetrinly-assistenza-addon__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.625rem;
}

.vetrinly-assistenza-addon__mini {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.625rem;
	background: #f8fafc;
	text-decoration: none !important;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon__mini {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(148, 163, 184, 0.28);
}

.vetrinly-assistenza-addon__mini:hover,
.vetrinly-assistenza-addon__mini:focus-visible {
	border-color: #2563eb;
	background: #eff6ff;
	box-shadow: 0 0 0 1px #bfdbfe;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon__mini:hover,
#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon__mini:focus-visible {
	background: rgba(59, 130, 246, 0.12);
	border-color: #60a5fa;
}

.vetrinly-assistenza-addon__mini--plus {
	border-color: #bfdbfe;
	background: #f8fafc;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon__mini--plus {
	border-color: rgba(96, 165, 250, 0.45);
	background: rgba(59, 130, 246, 0.08);
}

.vetrinly-assistenza-addon__mini-label {
	font-size: 0.75rem;
	font-weight: 600;
	color: #334155;
}

#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon__mini-label,
#lofferta-tutto-incluso .grid[class*="grid-cols-3"] > div[data-index="1"] .vetrinly-assistenza-addon__mini-price {
	color: #e2e8f0;
}

.vetrinly-assistenza-addon__mini-price {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #0f172a;
}

@media (max-width: 480px) {
	.vetrinly-assistenza-addon__grid {
		grid-template-columns: 1fr;
	}
}

/* ── Root containers ── */
#home-root,
#services-root,
#portfolio-root,
#pricing-root,
#contact-root,
#header-root,
#footer-root {
	width: 100%;
	max-width: 100%;
}

.vetrinly-web10-wrap h1,
.vetrinly-web10-wrap h2 {
	font-family: "Playfair Display", Georgia, serif;
}

/* Contatti — hero "Parliamo del tuo progetto" (serif come web10) */
#parliamo-del-tuo-progetto h1 {
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 700 !important;
	font-size: clamp(2.5rem, 8vw, 4.5rem) !important;
	line-height: 1.1 !important;
	letter-spacing: -0.025em !important;
	color: #111827 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

#parliamo-del-tuo-progetto h1 span.italic {
	font-family: inherit !important;
	font-style: italic !important;
	font-weight: 700 !important;
	color: #2563eb !important;
}

#parliamo-del-tuo-progetto h1 + p {
	font-family: Inter, system-ui, sans-serif !important;
	font-size: 1.25rem !important;
	line-height: 1.75 !important;
	font-weight: 400 !important;
	color: #4b5563 !important;
}

/* Contatti — card form (passi 01–03 dentro lo stesso box bianco) */
#contact-root [data-vetrinly-contact-form-card] {
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.06) !important;
	overflow: hidden;
}

#contact-root form[data-vetrinly-contact-form] .space-y-8 {
	padding-bottom: 0;
}

#contact-root form[data-vetrinly-contact-form] .space-y-8 + .space-y-8 {
	margin-top: 3rem;
}

#contact-root form[data-vetrinly-contact-form] .vetrinly-form-privacy,
#contact-root form[data-vetrinly-contact-form] .pt-4:has(.vetrinly-contact-submit),
#contact-root form[data-vetrinly-contact-form] .pt-4:has(button[type="submit"]) {
	margin-top: 1.5rem;
}

/* ── Contatti: form (pacchetti + submit) — fix reset.css rosa ── */

#contact-root [data-slot="toggle-group-item"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	height: 3rem !important;
	padding: 0 1rem !important;
	font-family: Inter, system-ui, sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: #111827 !important;
	background-color: #fff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 0.375rem !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

#contact-root [data-slot="toggle-group-item"]:hover,
#contact-root [data-slot="toggle-group-item"]:focus {
	background-color: #f3f4f6 !important;
	color: #111827 !important;
	border-color: #d1d5db !important;
}

#contact-root [data-slot="toggle-group-item"][data-state="on"] {
	background-color: #f3f4f6 !important;
	color: #111827 !important;
	border-color: #d1d5db !important;
}

#contact-root [data-slot="toggle-group-item"][data-state="on"]:hover,
#contact-root [data-slot="toggle-group-item"][data-state="on"]:focus {
	background-color: #e5e7eb !important;
	color: #111827 !important;
	border-color: #d1d5db !important;
}

#contact-root button[type="submit"],
#contact-root .vetrinly-contact-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 20rem !important;
	min-height: 3.25rem !important;
	padding: 0.875rem 1.75rem !important;
	font-family: Inter, system-ui, sans-serif !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: #fff !important;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
	border: 1px solid #0f172a !important;
	border-radius: 0.75rem !important;
	box-shadow: 0 10px 24px -12px rgb(15 23 42 / 0.55) !important;
	cursor: pointer !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

#contact-root button[type="submit"]:hover,
#contact-root button[type="submit"]:focus,
#contact-root .vetrinly-contact-submit:hover,
#contact-root .vetrinly-contact-submit:focus {
	background: linear-gradient(135deg, #111827 0%, #334155 100%) !important;
	color: #fff !important;
	box-shadow: 0 14px 28px -12px rgb(15 23 42 / 0.65) !important;
	transform: translateY(-1px) !important;
}

#contact-root button[type="submit"] svg,
#contact-root .vetrinly-contact-submit svg {
	display: none !important;
}

#contact-root input[name="phone"] {
	background-image: none !important;
	padding-left: 1rem !important;
}

#contact-root [data-slot="form-item"]:has(input[name="phone"]) svg {
	display: none !important;
}

#cosa-include-il-tuo-sito .mb-20 h2 {
	font-family: Inter, system-ui, sans-serif !important;
	font-style: normal !important;
	font-weight: 700 !important;
}

body.vetrinly-web10-site {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ── Footer: link invisibili fino all'hover (come web10) ── */
.elementor-location-footer #footer-root .vetrinly-footer-link,
#footer-root .vetrinly-footer-link,
.elementor-location-footer #footer-root .vetrinly-footer__links a,
#footer-root .vetrinly-footer__links a,
.elementor-location-footer #footer-root .vetrinly-footer__address a,
#footer-root .vetrinly-footer__address a,
.elementor-location-footer #footer-root .vetrinly-footer__legal a,
#footer-root .vetrinly-footer__legal a {
	color: var(--vetrinly-footer-link) !important;
}

.elementor-location-footer #footer-root .vetrinly-footer-link:hover,
.elementor-location-footer #footer-root .vetrinly-footer-link:focus-visible,
#footer-root .vetrinly-footer-link:hover,
#footer-root .vetrinly-footer-link:focus-visible,
.elementor-location-footer #footer-root .vetrinly-footer__links a:hover,
.elementor-location-footer #footer-root .vetrinly-footer__links a:focus-visible,
#footer-root .vetrinly-footer__links a:hover,
#footer-root .vetrinly-footer__links a:focus-visible,
.elementor-location-footer #footer-root .vetrinly-footer__address a:hover,
.elementor-location-footer #footer-root .vetrinly-footer__address a:focus-visible,
#footer-root .vetrinly-footer__address a:hover,
#footer-root .vetrinly-footer__address a:focus-visible,
.elementor-location-footer #footer-root .vetrinly-footer__legal a:hover,
.elementor-location-footer #footer-root .vetrinly-footer__legal a:focus-visible,
#footer-root .vetrinly-footer__legal a:hover,
#footer-root .vetrinly-footer__legal a:focus-visible {
	color: var(--vetrinly-footer-link-hover) !important;
}

.elementor-location-footer #footer-root .vetrinly-footer__social a,
.elementor-location-footer #footer-root .vetrinly-footer__social-pending,
.elementor-location-footer #footer-root .vetrinly-footer__social-item,
#footer-root .vetrinly-footer__social a,
#footer-root .vetrinly-footer__social-pending,
#footer-root .vetrinly-footer__social-item,
#footer-root .vetrinly-footer__social .vetrinly-footer__social-item,
#footer-root .vetrinly-footer__social .vetrinly-footer__social-pending {
	color: var(--vetrinly-footer-social) !important;
	border-color: var(--vetrinly-footer-social-border) !important;
	background: transparent !important;
}

.elementor-location-footer #footer-root .vetrinly-footer__social a:hover,
.elementor-location-footer #footer-root .vetrinly-footer__social a:focus-visible,
.elementor-location-footer #footer-root .vetrinly-footer__social-item:hover,
.elementor-location-footer #footer-root .vetrinly-footer__social-item:focus-visible,
#footer-root .vetrinly-footer__social a:hover,
#footer-root .vetrinly-footer__social a:focus-visible,
#footer-root .vetrinly-footer__social-item:hover,
#footer-root .vetrinly-footer__social-item:focus-visible,
#footer-root .vetrinly-footer__social .vetrinly-footer__social-item:hover,
#footer-root .vetrinly-footer__social .vetrinly-footer__social-pending:hover {
	background: var(--vetrinly-cyan) !important;
	border-color: var(--vetrinly-cyan) !important;
	color: #fff !important;
}

#footer-root .vetrinly-footer__social .vetrinly-footer__social-item svg,
#footer-root .vetrinly-footer__social .vetrinly-footer__social-pending svg {
	stroke: currentColor !important;
}

/* ── Workflow heading: COME sans + funziona Playfair italic (web10) ── */
.vetrinly-web10-wrap #cosa-include-il-tuo-sito .mb-20 h2.font-default,
.vetrinly-web10-wrap #cosa-include-il-tuo-sito .mb-20 h2 {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	font-style: normal !important;
	font-weight: 700 !important;
}

/* ── Pricing configurator — campo testo "Altro" e banner prefill form ── */
.vetrinly-cfg-input {
	display: block;
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.625rem 0.75rem;
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.875rem;
	color: hsl(220 10% 98%);
	background-color: hsl(220 20% 12%);
	border: 1px solid hsl(220 15% 28%);
	border-radius: 0.5rem;
	outline: none;
	transition: border-color 0.2s;
}

.vetrinly-cfg-input:focus {
	border-color: hsl(195 100% 45%);
	box-shadow: 0 0 0 2px hsla(195, 100%, 45%, 0.2);
}

.vetrinly-form-prefill {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
	padding: 0.75rem 1rem;
	background: #f0f4f8;
	border: 1px solid #d0dae5;
	border-radius: 0.5rem;
	font-size: 0.8125rem;
	font-family: "Space Mono", ui-monospace, monospace;
	letter-spacing: 0.04em;
	color: #475569;
}

/* Select nativa nel form contatti — stesso stile degli input esistenti */
.vetrinly-contact-select {
	display: block;
	width: 100%;
	height: 3rem;
	padding: 0 2.5rem 0 1rem;
	font-family: inherit;
	font-size: 1rem;
	color: hsl(220 20% 10%);
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a0aab8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	border: 1px solid #d1d5db;
	border-radius: 0.375rem;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.vetrinly-contact-select:focus {
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* Campi bloccati (provenienti dal configuratore) */
.vetrinly-contact-select[data-locked],
[data-slot="toggle-group-item"][data-locked],
.vetrinly-package-card[data-locked] {
	opacity: 0.7;
	pointer-events: none;
	cursor: default;
}

/* Dati attività nel form contatti */
.vetrinly-activity-fields,
.vetrinly-business-fields {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.vetrinly-activity-fields__title,
.vetrinly-business-fields__intro {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #64748b;
}

.vetrinly-activity-fields__title span,
.vetrinly-business-fields__intro span {
	display: block;
	margin-bottom: 0.35rem;
}

/* Input form contatti (nome, cognome, ecc.) */
.vetrinly-contact-input {
	display: block;
	width: 100%;
	height: 3rem;
	padding: 0 1rem;
	font-family: inherit;
	font-size: 1rem;
	color: hsl(220 20% 10%);
	background-color: transparent;
	border: 1px solid #d1d5db;
	border-radius: 0.375rem;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vetrinly-contact-input:focus {
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* Selettore pacchetti nel form contatti */
.vetrinly-package-picker {
	display: grid;
	gap: 0.75rem;
}

.vetrinly-package-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	width: 100%;
	min-width: 0;
}

@media (min-width: 768px) {
	.vetrinly-package-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.vetrinly-package-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	padding: 1rem 1.1rem;
	text-align: left;
	background: #fff !important;
	border: 2px solid #e2e8f0 !important;
	border-radius: 0.75rem;
	cursor: pointer;
	color: #0f172a !important;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.vetrinly-package-card:hover,
.vetrinly-package-card:focus {
	outline: none;
	border-color: #93c5fd !important;
	background: #fff !important;
	color: #0f172a !important;
	box-shadow: 0 8px 24px rgba(37, 99, 235, 0.08);
	transform: translateY(-1px);
}

.vetrinly-package-card[data-state="on"] {
	border-color: #2563eb !important;
	background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
	box-shadow: 0 10px 28px rgba(37, 99, 235, 0.12);
}

.vetrinly-package-card[data-state="on"]:hover,
.vetrinly-package-card[data-state="on"]:focus {
	background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
	border-color: #2563eb !important;
}

.vetrinly-package-card__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	width: 100%;
	min-width: 0;
	gap: 0.5rem;
}

.vetrinly-package-card__title {
	flex-shrink: 0;
	font-family: "Space Mono", ui-monospace, monospace;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #2563eb;
}

.vetrinly-package-card__price {
	flex-shrink: 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: #0f172a;
}

.vetrinly-package-card__monthly {
	width: 100%;
	font-size: 0.8125rem;
	color: #64748b;
}

.vetrinly-package-card__subtitle {
	width: 100%;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: #334155;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
}

.vetrinly-package-card__features {
	width: 100%;
	min-width: 0;
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.25rem;
}

.vetrinly-package-card__features li {
	position: relative;
	padding-left: 1rem;
	font-size: 0.75rem;
	line-height: 1.35;
	color: #475569;
	overflow-wrap: anywhere;
}

.vetrinly-package-card__features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45rem;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 999px;
	background: #2563eb;
}

.vetrinly-package-picker__hint {
	margin: 0;
	font-size: 0.8125rem;
	color: #64748b;
}

/* Assistenza opzionale nel form contatti */
.vetrinly-assistenza-picker {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid #e2e8f0;
}

.vetrinly-assistenza-picker__hint {
	margin: 0.35rem 0 0.85rem;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: #64748b;
}

.vetrinly-assistenza-options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

@media (min-width: 640px) {
	.vetrinly-assistenza-options {
		grid-template-columns: 1fr 1fr;
	}
}

.vetrinly-assistenza-option {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1rem 1.1rem;
	background: #fff;
	border: 2px solid #e2e8f0;
	border-radius: 0.75rem;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.vetrinly-assistenza-option:hover {
	border-color: #93c5fd;
}

.vetrinly-assistenza-option[data-state="on"] {
	border-color: #2563eb;
	background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
	box-shadow: 0 8px 24px rgba(37, 99, 235, 0.1);
}

.vetrinly-assistenza-option__title {
	font-size: 0.9375rem;
	font-weight: 600;
	color: #0f172a;
}

.vetrinly-assistenza-option__desc {
	font-size: 0.8125rem;
	line-height: 1.4;
	color: #64748b;
}

/* ── Configuratore: centra la riga selects + bottone ── */
#il-configuratore-prezzi .grid.grid-cols-1.sm\:grid-cols-2.lg\:grid-cols-4,
#il-configuratore-prezzi .grid[class*="lg:grid-cols-4"],
[class*="grid-cols-4"]:has(#cfg-pacchetto) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center !important;
	gap: 1rem !important;
}

[class*="grid-cols-4"]:has(#cfg-pacchetto) > * {
	flex: 0 0 auto;
	min-width: 180px;
	max-width: 220px;
}

[class*="grid-cols-4"]:has(#cfg-pacchetto) .vetrinly-cfg-cta {
	flex: 0 0 auto;
	align-self: flex-end;
	padding-bottom: 0.25rem;
}

/* ── Pricing configurator — select native stile web10 ── */
.vetrinly-cfg-select {
	display: block;
	width: 100%;
	height: 2.75rem;
	padding: 0 2.5rem 0 0.75rem;
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	color: hsl(220 10% 98%);
	background-color: hsl(220 20% 12%);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a0aab8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	border: 1px solid hsl(220 15% 28%);
	border-radius: 0.5rem;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	transition: border-color 0.2s ease;
}

.vetrinly-cfg-select:focus {
	border-color: hsl(195 100% 45%);
	box-shadow: 0 0 0 2px hsla(195, 100%, 45%, 0.2);
	outline: none;
}

.vetrinly-cfg-select option {
	background-color: hsl(220 20% 12%);
	color: hsl(220 10% 98%);
}

.vetrinly-cfg-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0;
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	color: hsl(220 10% 98%) !important;
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
	letter-spacing: 0.01em;
	transition: color 0.2s ease;
	flex-shrink: 0;
}

.vetrinly-cfg-cta:hover {
	color: hsl(195 100% 55%) !important;
}

.vetrinly-cfg-cta__arrow {
	flex-shrink: 0;
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.vetrinly-cfg-cta:hover .vetrinly-cfg-cta__arrow {
	transform: translateX(4px);
}

/* ── FAQ accordion plain JS ── */
.vetrinly-faq {
	width: 100%;
}

.vetrinly-faq__item {
	border-bottom: 1px solid hsl(220 15% 25%);
	transition: background-color 0.3s ease;
}

.vetrinly-faq__item:last-child {
	border-bottom: none;
}

.vetrinly-faq__item[data-open="true"] {
	background-color: hsla(195, 100%, 45%, 0.06);
	border-radius: 0.375rem;
	margin-inline: -1rem;
	padding-inline: 1rem;
}

.vetrinly-faq__trigger {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	width: 100%;
	padding: 1.5rem 0;
	background: none !important;
	border: none !important;
	cursor: pointer;
	text-align: left;
	outline: none !important;
	box-shadow: none !important;
	color: hsl(220 20% 15%) !important;
}

.vetrinly-faq__trigger:hover,
.vetrinly-faq__trigger:focus {
	background: none !important;
	color: hsl(220 20% 15%) !important;
}

.vetrinly-faq__question {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	font-weight: 500;
	color: hsl(220 20% 15%);
	line-height: 1.3;
}

.vetrinly-faq__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.375rem;
	background-color: hsl(220 20% 10%);
	color: #fff;
	transition: transform 0.3s ease;
}

.vetrinly-faq__item[data-open="true"] .vetrinly-faq__icon {
	transform: rotate(45deg);
}

.vetrinly-faq__answer {
	overflow: hidden;
	padding-bottom: 1.5rem;
}

.vetrinly-faq__answer[hidden] {
	display: none;
}

.vetrinly-faq__text {
	font-family: Inter, system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: hsl(220 10% 40%);
	margin: 0;
	max-width: 56rem;
}

/* ── Services workflow heading fixes ── */
.vetrinly-web10-wrap #cosa-include-il-tuo-sito .mb-20 h2 .vetrinly-heading-sans,
#cosa-include-il-tuo-sito .mb-20 h2 .vetrinly-heading-sans {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	font-style: normal !important;
	font-weight: 700 !important;
}

.vetrinly-web10-wrap #cosa-include-il-tuo-sito .mb-20 h2 .vetrinly-heading-serif,
.vetrinly-web10-wrap #cosa-include-il-tuo-sito .mb-20 h2 span.italic.font-serif,
#cosa-include-il-tuo-sito .mb-20 h2 .vetrinly-heading-serif,
#cosa-include-il-tuo-sito .mb-20 h2 span.italic.font-serif {
	font-family: "Playfair Display", Georgia, serif !important;
	font-style: italic !important;
	font-weight: 700 !important;
	font-synthesis: style !important;
	letter-spacing: -0.025em !important;
	margin-inline-start: 0 !important;
}
