/* ==========================================================================
   Feedo — stile rinnovato («wow»). Strato separato: si spegne da
   Aspetto › Personalizza › Stile Feedo, e il sito torna identico all'originale.
   Stessa struttura, stessi font (Teko / Roboto), stessi colori del marchio.
   ========================================================================== */
.feedo-wow {
	--w-blue: #354091;
	--w-blue-deep: #1f2766;
	--w-teal: #00666d;
	--w-teal-2: #0a8b8f;
	--w-ink: #0d1b3e;
	--w-grad: linear-gradient(100deg, #00666d 0%, #0a8b8f 45%, #354091 100%);
	--w-ease: cubic-bezier(.2, .7, .2, 1);
	--w-shadow: 0 18px 50px -18px rgba(13, 27, 62, .35), 0 6px 18px -8px rgba(13, 27, 62, .18);
}

/* barra di avanzamento della lettura */
.feedo-wow .w-progress {
	position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 200; pointer-events: none;
	background: var(--w-grad); transform-origin: 0 50%; transform: scaleX(var(--w-p, 0));
}
body.admin-bar.feedo-wow .w-progress { top: 32px; }

/* --------------------------------------------------------------------------
   Header in vetro
   -------------------------------------------------------------------------- */
.feedo-wow .feedo-header {
	background: rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: saturate(180%) blur(16px); backdrop-filter: saturate(180%) blur(16px);
	transition: box-shadow .4s var(--w-ease), background-color .4s var(--w-ease);
}
.feedo-wow .feedo-header.is-stuck { background: rgba(255, 255, 255, .78); box-shadow: 0 10px 30px -12px rgba(13, 27, 62, .25); }
.feedo-wow .feedo-logo img { transition: transform .4s var(--w-ease); transform-origin: 0 50%; }
.feedo-wow .feedo-header.is-stuck .feedo-logo img { transform: scale(.9); }
@media (min-width: 1001px) {
	.feedo-wow .feedo-menu > li > a::after {
		opacity: 1; top: 74px; border-top: 0; height: 2px; background: var(--w-grad);
		transform: scaleX(0); transform-origin: 50% 50%; transition: transform .35s var(--w-ease);
	}
	.feedo-wow .feedo-menu > li:hover > a::after,
	.feedo-wow .feedo-menu > li.current-menu-item > a::after,
	.feedo-wow .feedo-menu > li.current-menu-ancestor > a::after,
	.feedo-wow .feedo-menu > li.current-menu-parent > a::after { transform: scaleX(1); }
	.feedo-wow .feedo-menu > li.menu-button > a .menu-text {
		border-radius: 999px; background: var(--w-grad); background-size: 200% 100%; background-position: 0 0;
		box-shadow: 0 10px 24px -10px rgba(0, 102, 109, .7);
		transition: background-position .5s var(--w-ease), transform .3s var(--w-ease), box-shadow .3s var(--w-ease);
	}
	.feedo-wow .feedo-menu > li.menu-button > a:hover .menu-text {
		background-position: 100% 0; transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(53, 64, 145, .75);
	}
	/* megamenu che scende morbido */
	.feedo-wow .feedo-mega-wrap {
		border-top: 0; border-radius: 0 0 16px 16px; overflow: hidden; box-shadow: var(--w-shadow);
		transform: translateY(10px); transition: opacity .3s var(--w-ease), visibility .3s, transform .35s var(--w-ease);
	}
	.feedo-wow .feedo-mega-wrap::before { content: ""; display: block; height: 3px; background: var(--w-grad); }
	.feedo-wow .feedo-menu > li:hover > .feedo-mega-wrap,
	.feedo-wow .feedo-menu > li:focus-within > .feedo-mega-wrap { transform: none; }
	.feedo-wow .feedo-sub a { transition: color .2s, background-color .2s, padding-left .25s var(--w-ease); }
	.feedo-wow .feedo-sub a:hover { padding-left: 40px; background: #f3f8f8; }
}

/* --------------------------------------------------------------------------
   Testate: velatura, zoom lento, luci, testo che entra
   -------------------------------------------------------------------------- */
.feedo-wow .feedo-hero { position: relative; overflow: hidden; isolation: isolate; }
.feedo-wow .feedo-hero.w-has-bg { background-image: none !important; }
.feedo-wow .w-hero-bg {
	position: absolute; inset: -4% -2%; z-index: -2; background-size: cover; background-position: center;
	transform: scale(1.12) translate3d(0, var(--w-par, 0px), 0); animation: w-kenburns 16s var(--w-ease) forwards;
	will-change: transform;
}
@keyframes w-kenburns { to { transform: scale(1.02) translate3d(0, var(--w-par, 0px), 0); } }
.feedo-wow .feedo-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(60% 80% at 85% 50%, rgba(13, 27, 62, .55), transparent 70%),
		linear-gradient(90deg, rgba(13, 27, 62, .05) 0%, rgba(13, 27, 62, .35) 55%, rgba(13, 27, 62, .6) 100%),
		linear-gradient(0deg, rgba(13, 27, 62, .45), transparent 35%);
}
/* luci che si muovono piano */
.feedo-wow .feedo-hero::after {
	content: ""; position: absolute; width: 60vw; height: 60vw; right: -18vw; top: -30vw; z-index: -1; pointer-events: none;
	background: radial-gradient(circle, rgba(10, 139, 143, .45) 0%, rgba(53, 64, 145, .25) 40%, transparent 70%);
	filter: blur(20px); mix-blend-mode: screen; animation: w-glow 12s ease-in-out infinite alternate;
}
@keyframes w-glow { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-8vw, 10vw, 0) scale(1.15); } }
.feedo-wow .feedo-hero .elementor-heading-title { text-shadow: 0 6px 30px rgba(13, 27, 62, .45) !important; }
/* etichetta sopra il titolo */
.feedo-wow .w-kicker {
	display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 7px 16px 6px; border-radius: 999px;
	font: 400 13px/1 Roboto, sans-serif; letter-spacing: 3px; text-transform: uppercase; color: #fff;
	background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.feedo-wow .w-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #3fd3c9; box-shadow: 0 0 0 4px rgba(63, 211, 201, .25); animation: w-dot 2s ease-in-out infinite; }
@keyframes w-dot { 50% { box-shadow: 0 0 0 8px rgba(63, 211, 201, 0); } }
/* ingresso del testo */
.feedo-wow .w-line { display: block; overflow: hidden; padding-bottom: .06em; }
.feedo-wow .w-line > span { display: inline-block; transform: translateY(105%); animation: w-rise .9s var(--w-ease) forwards; animation-delay: var(--w-d, .05s); }
@keyframes w-rise { to { transform: none; } }
.feedo-wow .feedo-hero .elementor-widget-divider .elementor-divider-separator,
.feedo-wow .feedo-hero .elementor-widget-image img,
.feedo-wow .feedo-hero .feedo-hero-cap { animation: w-fade 1.1s var(--w-ease) both; animation-delay: .55s; }
.feedo-wow .feedo-hero .elementor-widget-image img { animation-delay: .1s; }
.feedo-wow .feedo-hero .elementor-widget-divider .elementor-divider-separator { transform-origin: 100% 50%; animation-name: w-draw; animation-delay: .8s; }
@keyframes w-fade { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes w-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.feedo-wow .feedo-hero-down a { animation: w-bounce 2.2s ease-in-out infinite; }
@keyframes w-bounce { 0%, 100% { transform: translateY(0); opacity: .75; } 50% { transform: translateY(10px); opacity: 1; } }

/* --------------------------------------------------------------------------
   Comparsa allo scroll (gli elementi arrivano a cascata)
   -------------------------------------------------------------------------- */
.feedo-wow .elementor-invisible { visibility: visible !important; }
.feedo-wow .elementor .animated { animation: none !important; }
.feedo-wow.w-js .w-rv { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .9s var(--w-ease), transform .9s var(--w-ease); transition-delay: var(--w-d, 0s); }
.feedo-wow.w-js .w-rv.w-in { opacity: 1; transform: none; }
.feedo-wow.w-js .w-rv.elementor-widget-divider { opacity: 1; transform: none; }
.feedo-wow.w-js .w-rv.elementor-widget-divider .elementor-divider-separator { transform: scaleX(0); transition: transform 1.1s var(--w-ease); transition-delay: var(--w-d, 0s); }
.feedo-wow.w-js .w-rv.elementor-widget-divider .elementor-divider-separator { transform-origin: 0 50%; }
.feedo-wow.w-js .w-rv.elementor-widget-divider[data-align="center"] .elementor-divider-separator { transform-origin: 50% 50%; }
.feedo-wow.w-js .w-rv.w-in.elementor-widget-divider .elementor-divider-separator { transform: scaleX(1); }

/* linee di separazione: gradiente del marchio */
.feedo-wow .elementor:not(.feedo-hero) .elementor-divider-separator { border-image: var(--w-grad) 1; }
.feedo-wow .feedo-hero .elementor-divider-separator { border-image: none !important; }

/* --------------------------------------------------------------------------
   Fasce colorate: gradienti e luci morbide
   -------------------------------------------------------------------------- */
.feedo-wow .fc-bg-blue, .feedo-wow .fc-bg-teal, .feedo-wow .fc-bg-light { position: relative; overflow: hidden; isolation: isolate; }
.feedo-wow .fc-bg-blue {
	background: radial-gradient(70% 90% at 0% 0%, rgba(10, 139, 143, .45), transparent 60%),
		radial-gradient(60% 80% at 100% 100%, rgba(98, 57, 189, .35), transparent 60%),
		linear-gradient(160deg, #3a46a0 0%, #2b3585 55%, #1f2766 100%) !important;
}
.feedo-wow .fc-bg-blue::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .35; pointer-events: none;
	background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: 56px 56px; -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.feedo-wow .fc-bg-teal {
	background: radial-gradient(55% 70% at 100% 0%, rgba(255, 255, 255, .45), transparent 60%),
		radial-gradient(50% 70% at 0% 100%, rgba(53, 64, 145, .18), transparent 60%),
		linear-gradient(135deg, #b9d6d8 0%, #a3c5c7 50%, #8fb8bb 100%) !important;
}
.feedo-wow .fc-bg-light {
	background: radial-gradient(60% 80% at 100% 0%, rgba(10, 139, 143, .10), transparent 60%),
		linear-gradient(180deg, #f6f9f9 0%, #eef3f4 100%) !important;
}
.feedo-wow .fc-bg-teal::after, .feedo-wow .fc-bg-light::after {
	content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; border-radius: 50%; left: -160px; bottom: -260px; pointer-events: none;
	background: radial-gradient(circle, rgba(255, 255, 255, .55), transparent 65%); animation: w-glow 14s ease-in-out infinite alternate;
}

/* --------------------------------------------------------------------------
   Card: content box, griglia di comparazione, foto
   -------------------------------------------------------------------------- */
.feedo-wow .feedo-cbox.cb-home .elementor-icon-box-wrapper {
	padding: 34px 26px 6px; border-radius: 22px; margin: 0 6px 26px;
	background: linear-gradient(160deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .03));
	border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	transition: transform .5s var(--w-ease), box-shadow .5s var(--w-ease), border-color .5s;
}
.feedo-wow .feedo-cbox.cb-home .elementor-icon-box-description { padding-bottom: 20px; margin-bottom: 10px; }
.feedo-wow .feedo-cbox.cb-home:hover .elementor-icon-box-wrapper { transform: translateY(-8px); border-color: rgba(63, 211, 201, .45); box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .55), 0 0 0 1px rgba(63, 211, 201, .15); }
.feedo-wow .feedo-cbox .elementor-icon { transition: transform .5s var(--w-ease), box-shadow .5s var(--w-ease); }
.feedo-wow .feedo-cbox:hover .elementor-icon { animation: none; transform: scale(1.08) rotate(-4deg); }
.feedo-wow .feedo-cbox.cb-home .elementor-icon::after { content: ""; position: absolute; inset: -14px; border-radius: 50%; background: radial-gradient(circle, rgba(63, 211, 201, .35), transparent 70%); opacity: 0; transition: opacity .5s; z-index: -1; }
.feedo-wow .feedo-cbox.cb-home .elementor-icon { position: relative; }
.feedo-wow .feedo-cbox.cb-home:hover .elementor-icon::after { opacity: 1; }

/* griglia di comparazione */
.feedo-wow .fc-card { border-radius: 18px; box-shadow: var(--w-shadow); transition: transform .5s var(--w-ease), box-shadow .5s var(--w-ease); }
.feedo-wow .fc-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -22px rgba(13, 27, 62, .45); }
.feedo-wow .fc-card-blue { background: linear-gradient(150deg, #3d49a6, #2a3383) !important; }
.feedo-wow .fc-card:not(.fc-card-blue) { background: linear-gradient(150deg, #3f9a9e, #1f7478) !important; }
.feedo-wow .fc-card:not(.fc-card-blue) p, .feedo-wow .fc-card:not(.fc-card-blue) h3 { color: #fff !important; font-weight: 300 !important; }
.feedo-wow .total-icon .text, .feedo-wow .total-icon .text1 { border-radius: 18px; box-shadow: var(--w-shadow); }

/* foto: angoli morbidi, ombra, leggero zoom all'hover */
.feedo-wow .w-photo-wrap { display: inline-block; overflow: hidden; border-radius: 18px; box-shadow: var(--w-shadow); line-height: 0; transform: translateZ(0); }
.feedo-wow .w-photo-wrap img { border-radius: 0 !important; transition: transform 1.2s var(--w-ease), filter .6s; }
.feedo-wow .w-photo-wrap:hover img { transform: scale(1.05); }

/* colonne dei passaggi con icona (Offerta, Modello): card chiare che si sollevano */
.feedo-wow .w-stepcol { position: relative; isolation: isolate; padding-top: 26px !important; padding-bottom: 22px !important; align-self: stretch !important; margin-bottom: 24px; }
.feedo-wow .w-stepcol::before {
	content: ""; position: absolute; inset: 0 12px; z-index: -1; border-radius: 20px; background: #fff;
	border: 1px solid #e6eef0; box-shadow: 0 16px 40px -24px rgba(13, 27, 62, .28);
	transition: transform .5s var(--w-ease), box-shadow .5s var(--w-ease), border-color .5s;
}
.feedo-wow .w-stepcol:hover::before { transform: translateY(-6px); border-color: rgba(0, 102, 109, .35); box-shadow: 0 30px 60px -26px rgba(0, 102, 109, .45); }
.feedo-wow .w-stepcol > * { padding-left: 18px; padding-right: 18px; }
/* icone SVG dei passaggi: piccolo sollevamento */
.feedo-wow .w-step { transition: transform .5s var(--w-ease), filter .5s; }
.feedo-wow .fc-col:hover .w-step { transform: translateY(-6px); filter: drop-shadow(0 10px 14px rgba(0, 102, 109, .25)); }

/* titoli di sezione: il separatore sotto è già animato; titoli un po' più incisivi */
.feedo-wow .elementor-widget-heading.feedo-h1 .elementor-heading-title { letter-spacing: .5px; }

/* --------------------------------------------------------------------------
   Pulsanti e moduli
   -------------------------------------------------------------------------- */
.feedo-wow .wpcf7 input[type="text"], .feedo-wow .wpcf7 input[type="email"], .feedo-wow .wpcf7 input[type="tel"], .feedo-wow .wpcf7 textarea {
	border-radius: 12px; background: #f5f8f9; border: 1px solid #e3eaec; transition: border-color .25s, box-shadow .25s, background-color .25s;
}
.feedo-wow .wpcf7 input:focus, .feedo-wow .wpcf7 textarea:focus { background: #fff; border-color: var(--w-teal); box-shadow: 0 0 0 4px rgba(0, 102, 109, .12); }
.feedo-wow .wpcf7 input[type="submit"], .feedo-wow .elementor-widget-button .elementor-button {
	background: var(--w-grad); background-size: 200% 100%; border-radius: 999px; padding: 15px 36px;
	box-shadow: 0 14px 28px -12px rgba(0, 102, 109, .7); transition: background-position .5s var(--w-ease), transform .3s var(--w-ease), box-shadow .3s;
}
.feedo-wow .wpcf7 input[type="submit"]:hover, .feedo-wow .elementor-widget-button .elementor-button:hover { background-position: 100% 0; transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   Footer: onda e gradiente
   -------------------------------------------------------------------------- */
.feedo-wow .feedo-footer { position: relative; }
.feedo-wow .feedo-footer-main { background: linear-gradient(120deg, #00666d 0%, #00585f 55%, #1f2f6e 130%); position: relative; }
.feedo-wow .feedo-footer::before {
	content: ""; display: block; height: 60px; position: relative; z-index: 2;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V28C240 4 480 0 720 18s480 40 720 12v30z' fill='%2300666d'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}
.feedo-wow .feedo-footer-bottom { background: #0d2a3a; }

/* torna su */
.feedo-wow .w-top {
	position: fixed; right: 22px; bottom: 22px; z-index: 150; width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--w-grad); box-shadow: var(--w-shadow); opacity: 0; transform: translateY(12px); pointer-events: none;
	transition: opacity .35s, transform .35s var(--w-ease);
}
.feedo-wow .w-top::before { content: ""; position: absolute; left: 17px; top: 19px; width: 10px; height: 10px; border-left: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(45deg); }
.feedo-wow .w-top.w-show { opacity: 1; transform: none; pointer-events: auto; }

/* chi preferisce meno movimento: niente animazioni */
@media (prefers-reduced-motion: reduce) {
	.feedo-wow *, .feedo-wow *::before, .feedo-wow *::after { animation: none !important; transition: none !important; }
	.feedo-wow.w-js .w-rv { opacity: 1; transform: none; }
	.feedo-wow .w-line > span { transform: none; }
	.feedo-wow .w-hero-bg { transform: none; }
}
@media (max-width: 768px) {
	.feedo-wow .feedo-cbox.cb-home .elementor-icon-box-wrapper { margin: 0 0 22px; padding: 28px 18px 4px; }
	/* telefono: effetti leggeri (niente sfocature pesanti, prima visualizzazione più rapida) */
	.feedo-wow .feedo-hero::after, .feedo-wow .fc-bg-teal::after, .feedo-wow .fc-bg-light::after { display: none; }
	.feedo-wow .feedo-header, .feedo-wow .feedo-cbox.cb-home .elementor-icon-box-wrapper, .feedo-wow .w-kicker { -webkit-backdrop-filter: none; backdrop-filter: none; }
	.feedo-wow .feedo-header { background: #fff; }
	.feedo-wow .w-kicker { font-size: 11px; letter-spacing: 2px; }
}

/* respiro: testate un po' più ariose, spazio prima dell'onda del footer */
@media (min-width: 769px) {
	.feedo-wow .feedo-hero:not(.feedo-hero-full) { padding-top: 56px !important; padding-bottom: 56px !important; }
}
@media (max-width: 768px) {
	.feedo-wow .feedo-hero:not(.feedo-hero-full) .w-kicker { display: none; }
	.feedo-wow .feedo-hero:not(.feedo-hero-full) { padding-top: 30px !important; padding-bottom: 30px !important; }
}
.feedo-wow .feedo-footer.w-over::before { margin-top: -59px; } /* dopo una fascia colorata l'onda ci si appoggia sopra */
