/*
Theme Name: Ponentino Energia
Theme URI:
Description: Tema custom di Ponentino Energia, child di Twenty Twenty-Five.
Author: Ponentino Energia
Author URI: https://ponentinoenergia.com
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ponentinoenergia
*/

/* ---- Sezione "Vantaggi del Fotovoltaico" ---- */

.ponentino-advantages {
	--pe-green: #047857;
	--pe-green-soft: #ecfdf5;
	--pe-green-edge: #a7f3d0;
	--pe-ink: #0f172a;
	--pe-muted: #475569;
	gap: clamp(1rem, 2vw, 1.75rem);
}

.ponentino-advantage {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, var(--pe-green-soft) 100%);
	border: 1px solid var(--pe-green-edge);
	border-radius: 18px;
	padding: clamp(1.25rem, 2vw, 2rem);
	box-shadow:
		0 1px 2px rgba(4, 120, 87, 0.04),
		0 12px 24px -18px rgba(4, 120, 87, 0.35);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
	overflow: hidden;
	isolation: isolate;
}

.ponentino-advantage::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, var(--pe-green) 0%, #10b981 100%);
}

.ponentino-advantage:hover {
	transform: translateY(-2px);
	border-color: var(--pe-green);
	box-shadow:
		0 1px 2px rgba(4, 120, 87, 0.06),
		0 18px 32px -18px rgba(4, 120, 87, 0.55);
}

/* Badge in alto (primo elemento di testo: "RISPARMIO IMMEDIATO", "FINO AL 40%", ecc.) */
.ponentino-advantage > :first-child {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pe-green);
	background: #ffffff;
	border: 1px solid var(--pe-green-edge);
	padding: 0.35em 0.7em;
	border-radius: 999px;
	margin-bottom: 0.9rem;
}

/* Titolo del card */
.ponentino-advantage h2,
.ponentino-advantage h3,
.ponentino-advantage h4 {
	color: var(--pe-ink);
	font-size: clamp(1.15rem, 1.3vw, 1.35rem);
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 0.5rem;
}

/* Corpo del card */
.ponentino-advantage p {
	color: var(--pe-muted);
	font-size: 0.97rem;
	line-height: 1.55;
	margin: 0;
}

@media (max-width: 640px) {
	.ponentino-advantage { border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.ponentino-advantage,
	.ponentino-advantage:hover {
		transition: none;
		transform: none;
	}
}

/* ---- Hero "Bando Imprese Sud" ---- */

.ponentino-hero {
	--pe-hero-ink: #0f172a;
	--pe-hero-muted: #334155;
	--pe-hero-green: #047857;
	--pe-hero-orange: #ea580c;
	--pe-hero-orange-hover: #c2410c;
	position: relative;
	padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem);
	background:
		radial-gradient(circle at 85% 15%, rgba(250, 204, 21, 0.35) 0%, rgba(250, 204, 21, 0) 55%),
		radial-gradient(circle at 10% 90%, rgba(16, 185, 129, 0.18) 0%, rgba(16, 185, 129, 0) 60%),
		linear-gradient(135deg, #f8fafc 0%, #ecfdf5 60%, #fef3c7 100%);
	overflow: hidden;
	isolation: isolate;
}

.ponentino-hero::before {
	content: "";
	position: absolute;
	inset: auto -10% -40% -10%;
	height: 60%;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(15, 23, 42, 0.04) 0,
			rgba(15, 23, 42, 0.04) 2px,
			transparent 2px,
			transparent 14px
		);
	transform: skewY(-4deg);
	z-index: -1;
	pointer-events: none;
}

.ponentino-hero__inner {
	text-align: center;
	max-width: 880px;
	margin-inline: auto;
}

.ponentino-hero__eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--pe-hero-green);
	background: #ffffff;
	border: 1px solid rgba(4, 120, 87, 0.25);
	padding: 0.4em 0.9em;
	border-radius: 999px;
	margin: 0 auto 1.25rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.ponentino-hero__title {
	font-size: clamp(1.85rem, 4.2vw, 3.2rem);
	font-weight: 700;
	line-height: 1.18;
	color: var(--pe-hero-ink);
	margin: 0 0 1rem;
	letter-spacing: -0.01em;
}

.ponentino-hero__title strong,
.ponentino-hero__highlight {
	color: var(--pe-hero-green);
}

/* "65%" — claim pubblicitario in arancione pieno */
.ponentino-hero__pct {
	display: inline-block;
	font-weight: 900;
	font-size: 1.35em;
	line-height: 1;
	color: var(--pe-hero-orange);
	letter-spacing: -0.02em;
	white-space: nowrap;
	transform: translateY(0.04em);
	text-shadow: 0 2px 0 rgba(234, 88, 12, 0.18);
}

/* "Fondo Perduto" — badge giallo stile etichetta promo */
.ponentino-hero__fp {
	display: inline-block;
	font-weight: 800;
	color: #1a1a1a;
	background: #facc15;
	padding: 0.08em 0.45em;
	border-radius: 0.25em;
	white-space: nowrap;
	transform: rotate(-1.5deg);
	box-shadow: 0 2px 0 rgba(202, 138, 4, 0.55);
}

@media (max-width: 600px) {
	.ponentino-hero__pct { font-size: 1.25em; }
	.ponentino-hero__fp { white-space: normal; }
}

.ponentino-hero__subtitle {
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.55;
	color: var(--pe-hero-muted);
	margin: 0 auto 2rem;
	max-width: 720px;
}

.ponentino-hero__cta {
	gap: 0.85rem !important;
	justify-content: center;
}

.ponentino-hero__cta .wp-block-button__link {
	font-weight: 600;
	font-size: 1rem;
	padding: 0.95em 1.6em;
	border-radius: 10px;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.ponentino-hero__btn--primary .wp-block-button__link {
	background-color: var(--pe-hero-orange);
	color: #ffffff;
	border: 2px solid var(--pe-hero-orange);
	box-shadow: 0 6px 18px -8px rgba(234, 88, 12, 0.6);
}

.ponentino-hero__btn--primary .wp-block-button__link:hover,
.ponentino-hero__btn--primary .wp-block-button__link:focus-visible {
	background-color: var(--pe-hero-orange-hover);
	border-color: var(--pe-hero-orange-hover);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px -8px rgba(234, 88, 12, 0.7);
}

.ponentino-hero__btn--ghost .wp-block-button__link {
	background-color: transparent;
	color: var(--pe-hero-ink);
	border: 2px solid var(--pe-hero-ink);
}

.ponentino-hero__btn--ghost .wp-block-button__link:hover,
.ponentino-hero__btn--ghost .wp-block-button__link:focus-visible {
	background-color: var(--pe-hero-ink);
	color: #ffffff;
	transform: translateY(-1px);
}

@media (max-width: 600px) {
	.ponentino-hero__cta { flex-direction: column; align-items: stretch; }
	.ponentino-hero__cta .wp-block-button { width: 100%; }
	.ponentino-hero__cta .wp-block-button__link { display: block; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.ponentino-hero__cta .wp-block-button__link { transition: none; }
	.ponentino-hero__cta .wp-block-button__link:hover { transform: none; }
}

/* ---- FAQ "Bando Imprese Sud" ---- */

.ponentino-faq {
	--pe-faq-green: #047857;
	--pe-faq-edge: rgba(15, 23, 42, 0.08);
	--pe-faq-ink: #0f172a;
	--pe-faq-muted: #475569;
	background: #ffffff;
	scroll-margin-top: 120px;
}

.ponentino-faq__title {
	font-size: clamp(1.6rem, 2.8vw, 2.25rem);
	font-weight: 700;
	color: var(--pe-faq-ink);
	margin: 0 0 0.6rem;
}

.ponentino-faq__lead {
	color: var(--pe-faq-muted);
	font-size: 1.05rem;
	margin: 0 auto 2rem;
	max-width: 620px;
}

.ponentino-faq__item {
	background: #ffffff;
	border: 1px solid var(--pe-faq-edge);
	border-radius: 14px;
	padding: 1rem 1.25rem;
	margin-bottom: 0.85rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.ponentino-faq__item[open] {
	border-color: rgba(4, 120, 87, 0.4);
	box-shadow: 0 8px 22px -16px rgba(4, 120, 87, 0.5);
}

.ponentino-faq__item > summary {
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--pe-faq-ink);
	padding-right: 2rem;
	position: relative;
	outline: none;
}

.ponentino-faq__item > summary::-webkit-details-marker { display: none; }

.ponentino-faq__item > summary::after {
	content: "";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--pe-faq-green);
	border-bottom: 2px solid var(--pe-faq-green);
	transform: translateY(-65%) rotate(45deg);
	transition: transform 200ms ease;
}

.ponentino-faq__item[open] > summary::after {
	transform: translateY(-30%) rotate(-135deg);
}

.ponentino-faq__item > summary:focus-visible {
	box-shadow: 0 0 0 3px rgba(4, 120, 87, 0.25);
	border-radius: 6px;
}

.ponentino-faq__item p,
.ponentino-faq__item li {
	color: var(--pe-faq-muted);
	line-height: 1.6;
}

.ponentino-faq__item p:first-of-type {
	margin-top: 0.85rem;
}

.ponentino-faq__item ul {
	margin: 0.6rem 0;
	padding-left: 1.25rem;
}

.ponentino-faq__item strong {
	color: var(--pe-faq-ink);
}

@media (prefers-reduced-motion: reduce) {
	.ponentino-faq__item,
	.ponentino-faq__item > summary::after {
		transition: none;
	}
}
