/* LP Engine — foglio di stile condiviso delle landing page.
 * Fonte unica: usato in produzione (wp-content/plugins/lp-engine/assets/lp.css)
 * e incorporato nelle preview del design system (Claude Design).
 * Token derivati dal kit EfficaceMente (arancione #FC5228, viola #2C1746). */

:root {
	--lp-orange: #FC5228;
	--lp-orange-600: #E5431C;
	--lp-orange-light: #FFF0E8;
	--lp-ink: #2C1746;      /* testo/titoli scuri */
	--lp-purple: #201652;
	--lp-azure: #1CCAD8;
	--lp-blue: #293F51;
	--lp-muted: #6B6580;
	--lp-white: #FFFFFF;
	--lp-bg: #FFFFFF;
	--lp-soft: #F7F6FB;
	--lp-line: #ECEAF2;

	--lp-font-head: 'Lovelace', 'Playfair Display', Georgia, serif;
	--lp-font-body: 'Sora', 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	--lp-maxw: 1120px;
	--lp-radius: 4px;
	--lp-radius-card: 14px;
	--lp-shadow: 0 8px 30px rgba(44, 23, 70, .08);
}

/* ---------- base ---------- */
.lpe-page {
	margin: 0;
	font-family: var(--lp-font-body);
	font-size: 18px;
	line-height: 1.55;
	color: var(--lp-ink);
	background: var(--lp-bg);
	-webkit-font-smoothing: antialiased;
}
.lpe-page * { box-sizing: border-box; }
.lpe-page img { max-width: 100%; height: auto; display: block; }
.lpe-page a { color: var(--lp-orange); }

.lp-h1, .lp-h2, .lp-h3 { font-family: var(--lp-font-head); color: var(--lp-ink); line-height: 1.08; margin: 0 0 .4em; font-weight: 600; }
.lp-h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); }
.lp-h2 { font-size: clamp(1.7rem, 3.6vw, 2.6rem); }
.lp-h3 { font-size: clamp(1.25rem, 2.2vw, 1.6rem); }
.lp-kicker { font-family: var(--lp-font-head); color: var(--lp-orange); text-transform: uppercase; letter-spacing: .06em; font-size: .95rem; font-weight: 600; margin: 0 0 .6em; }
.lp-lead { font-size: 1.15rem; color: var(--lp-muted); }
.lp-hl { color: var(--lp-orange); }

/* ---------- layout ---------- */
.lp-section { padding: clamp(48px, 8vw, 96px) 20px; }
.lp-section--soft { background: var(--lp-soft); }
.lp-section--ink { background: var(--lp-ink); color: #fff; }
.lp-container { max-width: var(--lp-maxw); margin: 0 auto; }
.lp-center { text-align: center; }

/* ---------- button ---------- */
.lp-btn {
	display: inline-block;
	font-family: var(--lp-font-body);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1;
	padding: 16px 28px;
	border-radius: var(--lp-radius);
	border: 0;
	cursor: pointer;
	text-decoration: none;
	transition: background .15s ease, transform .15s ease;
}
/* doppia classe = specificita' 0,2,0 per battere `.lpe-page a` (0,1,1) */
.lp-btn.lp-btn--primary { background: var(--lp-orange); color: #fff; }
.lp-btn.lp-btn--primary:hover { background: var(--lp-orange-600); transform: translateY(-1px); }
.lp-btn.lp-btn--ghost { background: transparent; color: var(--lp-orange); box-shadow: inset 0 0 0 2px var(--lp-orange); }
.lp-btn--block { display: block; width: 100%; text-align: center; }

/* ---------- hero ---------- */
.lp-hero { padding: clamp(48px, 8vw, 104px) 20px; }
.lp-hero__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(24px, 5vw, 64px); align-items: center; }
.lp-hero__cta { margin-top: 24px; display: flex; gap: 14px; flex-wrap: wrap; }
.lp-hero__note { margin-top: 14px; font-size: .95rem; color: var(--lp-muted); }
.lp-hero__media img { border-radius: var(--lp-radius-card); box-shadow: var(--lp-shadow); }
@media (max-width: 820px) { .lp-hero__grid { grid-template-columns: 1fr; } }

/* ---------- cta band ---------- */
.lp-cta { background: var(--lp-orange-light); border-radius: var(--lp-radius-card); padding: clamp(28px, 5vw, 48px); text-align: center; }
.lp-cta .lp-h2 { margin-bottom: .3em; }

/* ---------- pricing ---------- */
.lp-pricing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lp-price {
	background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius-card);
	padding: 28px 24px; display: flex; flex-direction: column;
}
.lp-price--featured { border-color: var(--lp-orange); box-shadow: var(--lp-shadow); position: relative; }
.lp-price__badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--lp-orange); color: #fff; font-size: .78rem; font-weight: 600; padding: 5px 12px; border-radius: 999px; }
.lp-price__name { font-family: var(--lp-font-head); font-size: 1.3rem; margin: 0 0 6px; }
.lp-price__price { font-size: 2.4rem; font-weight: 700; color: var(--lp-ink); }
.lp-price__price span { font-size: 1rem; color: var(--lp-muted); font-weight: 400; }
.lp-price__list { list-style: none; padding: 0; margin: 18px 0 24px; }
.lp-price__list li { padding: 7px 0 7px 26px; position: relative; color: var(--lp-ink); border-bottom: 1px solid var(--lp-line); }
.lp-price__list li::before { content: "✓"; position: absolute; left: 0; color: var(--lp-orange); font-weight: 700; }
.lp-price .lp-btn { margin-top: auto; }
@media (max-width: 820px) { .lp-pricing { grid-template-columns: 1fr; } }

/* ---------- faq ---------- */
.lp-faq { max-width: 760px; margin: 0 auto; }
.lp-faq__item { border-bottom: 1px solid var(--lp-line); }
.lp-faq__item summary { list-style: none; cursor: pointer; padding: 20px 40px 20px 0; position: relative; font-weight: 600; font-size: 1.08rem; }
.lp-faq__item summary::-webkit-details-marker { display: none; }
.lp-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font-size: 1.5rem; color: var(--lp-orange); transition: transform .2s ease; }
.lp-faq__item[open] summary::after { transform: rotate(45deg); }
.lp-faq__a { padding: 0 0 20px; color: var(--lp-muted); }

/* ---------- form ---------- */
.lp-form { background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius-card); padding: 28px; max-width: 460px; box-shadow: var(--lp-shadow); }
.lp-form__row { margin-bottom: 14px; }
.lp-form label { display: block; font-size: .9rem; font-weight: 600; margin-bottom: 6px; }
.lp-form input { width: 100%; padding: 13px 14px; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); font: inherit; color: var(--lp-ink); }
.lp-form input:focus { outline: none; border-color: var(--lp-orange); box-shadow: 0 0 0 3px var(--lp-orange-light); }
.lp-form__note { font-size: .8rem; color: var(--lp-muted); margin-top: 10px; }

/* ---------- footer ---------- */
.lp-footer { background: var(--lp-ink); color: #cfc9df; padding: 48px 20px; text-align: center; font-size: .92rem; }
.lp-footer a { color: #fff; }
.lp-footer__logo { font-family: var(--lp-font-head); color: #fff; font-size: 1.4rem; margin-bottom: 10px; }
