/**
 * «CERCA OVUNQUE» (4.100.0). Stesso cielo della barra: blu notte, vetro, bordi luminosi.
 * Solo opacity/transform per le animazioni; ferme con «meno movimento».
 */
.fpc-eroe { max-width: 920px; margin: 14px auto 30px; padding: 0 12px; position: relative; z-index: 30; }
.fpc-eroe-t { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; justify-content: center; margin: 0 0 8px; text-align: center; }
.fpc-eroe-t span { font-weight: 900; letter-spacing: .14em; font-size: .86rem; color: #ffe9a8; text-shadow: 0 0 14px rgba( 255, 210, 74, .55 ); }
.fpc-eroe-t small { color: #b9c6e8; font-size: .78rem; }

.fpc { position: relative; font-family: inherit; color: #eef2ff; text-align: left; }
.fpc *, .fpc *::before, .fpc *::after { box-sizing: border-box; }

/* il campo gigante, con il bordo che gira piano */
.fpc-box {
	position: relative; display: flex; align-items: center; gap: 10px;
	height: 66px; padding: 0 12px 0 18px; border-radius: 99px;
	background: linear-gradient( #0d1736, #0a1230 ) padding-box, linear-gradient( 100deg, #59e3d8, #a78bfa, #ff5d8f, #ffd24a, #59e3d8 ) border-box;
	border: 3px solid transparent; background-size: 100% 100%, 300% 100%;
	box-shadow: 0 8px 34px rgba( 89, 227, 216, .22 ), 0 0 0 1px rgba( 255, 255, 255, .06 ) inset;
	animation: fpc-giro 9s linear infinite;
}
@keyframes fpc-giro { to { background-position: 0 0, 300% 0; } }
.fpc.is-open .fpc-box { box-shadow: 0 10px 44px rgba( 167, 139, 250, .38 ); }
.fpc-ic { font-size: 26px; flex: none; filter: drop-shadow( 0 0 8px rgba( 89, 227, 216, .7 ) ); }
.fpc-in {
	flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: #fff;
	font: 700 1.28rem/1 inherit; font-family: inherit; padding: 0; -webkit-appearance: none; appearance: none;
}
.fpc-in::-webkit-search-cancel-button { display: none; }
.fpc-ph-t { position: absolute; left: 62px; right: 120px; top: 50%; transform: translateY( -50% ); color: #8ea2d4; font-weight: 600; font-size: 1.1rem; pointer-events: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fpc-in:not( :placeholder-shown ) ~ .fpc-ph-t, .fpc.is-open .fpc-ph-t { display: none; }
.fpc-x, .fpc-go { flex: none; border: 0; border-radius: 99px; cursor: pointer; font-weight: 800; color: #dbe5ff; background: rgba( 255, 255, 255, .12 ); height: 38px; padding: 0 14px; font-size: .85rem; }
.fpc-x { width: 38px; padding: 0; font-size: 1rem; }
.fpc-go { display: none; }
.fpc-x:hover, .fpc-go:hover { background: rgba( 255, 255, 255, .22 ); }

/* il riquadro dei risultati */
.fpc-pn {
	position: absolute; left: 0; right: 0; top: calc( 100% + 10px ); z-index: 60;
	background: rgba( 7, 13, 34, .97 ); border: 1px solid rgba( 167, 139, 250, .35 ); border-radius: 22px;
	box-shadow: 0 30px 80px rgba( 0, 0, 0, .6 ); overflow: hidden; backdrop-filter: blur( 14px );
	display: flex; flex-direction: column; max-height: max( 360px, min( 720px, calc( 100vh - 260px ) ) );
}
.fpc-pn[hidden] { display: none; }
.fpc-fl { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding: 10px 14px 8px; border-bottom: 1px solid rgba( 255, 255, 255, .08 ); }
.fpc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fpc-chips button, .fpc-ordine button {
	border: 1px solid rgba( 255, 255, 255, .18 ); background: rgba( 255, 255, 255, .05 ); color: #cfd9f7;
	border-radius: 99px; padding: 5px 11px; font: 700 .76rem/1 inherit; font-family: inherit; cursor: pointer;
}
.fpc-chips button.on, .fpc-ordine button.on { background: #ffd24a; color: #2a1800; border-color: #ffd24a; }
.fpc-ordine { margin-left: auto; display: flex; gap: 6px; }
.fpc-bd { display: grid; grid-template-columns: minmax( 0, 1.35fr ) minmax( 0, 1fr ); min-height: 0; flex: 1; overflow: hidden; }
.fpc-ls { overflow-y: auto; padding: 4px 10px 14px; overscroll-behavior: contain; min-height: 200px; }
.fpc-pv { overflow-y: auto; border-left: 1px solid rgba( 255, 255, 255, .08 ); background: rgba( 255, 255, 255, .025 ); }
.fpc-pv-v { padding: 22px; color: #b9c6e8; line-height: 1.5; }
.fpc-pv-v b { color: #ffe9a8; font-size: 1.05rem; }
.fpc-st { padding: 7px 16px; border-top: 1px solid rgba( 255, 255, 255, .08 ); font-size: .72rem; color: #8ea2d4; }

.fpc-sz { margin: 12px 0 4px; }
.fpc-sz h5 { margin: 0 0 6px 4px; font: 800 .72rem/1.2 inherit; font-family: inherit; letter-spacing: .1em; text-transform: uppercase; color: #9fb2e6; display: flex; align-items: center; gap: 8px; }
.fpc-sz h5 small { background: rgba( 255, 255, 255, .1 ); border-radius: 99px; padding: 1px 7px; letter-spacing: 0; }
.fpc-lvl h5 b { background: var( --k ); color: #07102a; border-radius: 8px; padding: 2px 8px; letter-spacing: .04em; }

.fpc-tg { border: 1px solid rgba( 89, 227, 216, .45 ); background: rgba( 89, 227, 216, .1 ); color: #bff7f0; border-radius: 99px; padding: 6px 12px; margin: 2px 4px 2px 0; font: 700 .85rem/1 inherit; font-family: inherit; cursor: pointer; }
.fpc-tg:hover { background: rgba( 89, 227, 216, .25 ); }
.fpc-sim-r { margin: 10px 4px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.fpc-sim-r span { font: 800 .7rem/1 inherit; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; color: #ffd24a; margin-right: 6px; }
.fpc-vu { padding: 26px 14px; color: #b9c6e8; text-align: center; line-height: 1.6; }
.fpc-vu b { color: #fff; }

/* le schede */
.fpc-c {
	position: relative; display: flex; gap: 12px; align-items: stretch; padding: 8px 40px 8px 8px; margin: 4px 0; border-radius: 16px;
	background: rgba( 255, 255, 255, .04 ); border: 1px solid rgba( 255, 255, 255, .08 ); cursor: pointer;
	transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.fpc-c:hover, .fpc-c.sel { background: rgba( 167, 139, 250, .14 ); border-color: rgba( 167, 139, 250, .6 ); transform: translateX( 2px ); }
.fpc-c.e-top { background: linear-gradient( 100deg, rgba( 255, 210, 74, .16 ), rgba( 255, 93, 143, .1 ) ); border-color: rgba( 255, 210, 74, .55 ); }
.fpc-th { flex: none; width: 84px; height: 84px; border-radius: 12px; overflow: hidden; background: #111a3c; }
.fpc-c.e-top .fpc-th { width: 100px; height: 100px; }
.fpc-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fpc-ph { display: grid; place-items: center; width: 100%; height: 100%; font-size: 34px; background: radial-gradient( circle at 30% 20%, color-mix( in srgb, var( --k ) 55%, #0b1230 ), #0b1230 ); }
.fpc-tx { min-width: 0; flex: 1; }
.fpc-r1 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 3px; }
.fpc-lv { background: var( --k ); color: #07102a; border-radius: 7px; padding: 2px 7px; font: 900 .72rem/1.2 inherit; font-family: inherit; }
.fpc-mat { color: var( --k ); font: 800 .72rem/1 inherit; font-family: inherit; }
.fpc-min { margin-left: auto; color: #8ea2d4; font-size: .7rem; }
.fpc-sim { font-size: .66rem; background: rgba( 255, 210, 74, .18 ); color: #ffe9a8; border-radius: 99px; padding: 1px 7px; font-weight: 800; }
.fpc-c h4 { margin: 0 0 2px; font: 800 1rem/1.25 inherit; font-family: inherit; color: #fff; }
.fpc-c p { margin: 0; font-size: .8rem; line-height: 1.35; color: #aebbe0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fpc mark { background: rgba( 255, 210, 74, .32 ); color: #fff; border-radius: 3px; padding: 0 1px; }
.fpc-ap { position: absolute; right: 6px; top: 8px; border: 0; background: rgba( 255, 255, 255, .1 ); color: #fff; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; display: none; }
.fpc-altri { width: 100%; margin: 4px 0; border: 1px dashed rgba( 255, 255, 255, .3 ); background: transparent; color: #cfd9f7; border-radius: 12px; padding: 8px; font-weight: 700; cursor: pointer; }

/* le parole */
.fpc-par { display: grid; grid-template-columns: repeat( auto-fill, minmax( 200px, 1fr ) ); gap: 6px; }
.fpc-w { display: flex; align-items: center; gap: 6px; background: rgba( 56, 189, 248, .09 ); border: 1px solid rgba( 56, 189, 248, .35 ); border-radius: 12px; padding: 4px 8px 4px 4px; }
.fpc-w a { display: grid; grid-template-columns: 1fr auto; gap: 0 6px; color: #fff; text-decoration: none; min-width: 0; flex: 1; }
.fpc-w a b { font-size: .95rem; }
.fpc-w a i { color: #8ea2d4; font-size: .72rem; font-style: normal; grid-column: 1; }
.fpc-w a span { grid-column: 1; color: #bfe6ff; font-size: .82rem; }
.fpc-w a em { grid-column: 2; grid-row: 1 / 3; align-self: center; font-style: normal; font-weight: 900; font-size: .66rem; background: var( --k ); color: #07102a; border-radius: 6px; padding: 2px 6px; }
.fpc-say { flex: none; width: 32px; height: 32px; border-radius: 50%; border: 0; background: rgba( 56, 189, 248, .25 ); cursor: pointer; }

/* anteprima */
.fpc-pi { display: block; width: 100%; height: 190px; object-fit: cover; }
.fpc-pi.fpc-ph { font-size: 64px; display: grid; height: 190px; }
.fpc-pb { padding: 14px 16px 18px; }
.fpc-pb h3 { margin: 6px 0 6px; font: 800 1.15rem/1.25 inherit; font-family: inherit; color: #fff; }
.fpc-pb p { margin: 0 0 10px; font-size: .88rem; line-height: 1.5; color: #c4d0f0; }
.fpc-pw { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 14px; }
.fpc-pw span { background: rgba( 56, 189, 248, .12 ); border: 1px solid rgba( 56, 189, 248, .3 ); border-radius: 99px; padding: 3px 9px; font-size: .74rem; color: #bfe6ff; }
.fpc-pw b { color: #fff; }
.fpc-open { display: inline-block; background: linear-gradient( #ffd24a, #e0a014 ); color: #2a1800 !important; text-decoration: none !important; font-weight: 900; border-radius: 99px; padding: 10px 18px; box-shadow: 0 4px 0 #8a5d00; }
.fpc-inl { margin: 0 0 8px; border-radius: 14px; overflow: hidden; background: #0d1736; border: 1px solid rgba( 167, 139, 250, .4 ); }
.fpc-inl .fpc-pi { height: 140px; }

/* la stessa cosa a schermo intero (lente della barra, altre pagine) */
.fpc-velo { position: fixed; inset: 0; z-index: 100000; background: rgba( 3, 6, 18, .78 ); backdrop-filter: blur( 8px ); display: none; padding: 5vh 16px 0; overflow: auto; }
.fpc-velo.on { display: block; }
.fpc-velo .fpc { max-width: 1000px; margin: 0 auto; }
.fpc-modal .fpc-pn { position: static; margin-top: 10px; max-height: 78vh; }
.fpc-modal .fpc-go { display: inline-block; }
html.fpc-blocca, html.fpc-blocca body { overflow: hidden; }

/* telefono: la ricerca diventa una schermata */
@media ( max-width: 759px ) {
	.fpc-eroe { margin: 10px auto 22px; padding: 0 10px; }
	.fpc-eroe-t small { display: none; }
	.fpc-box { height: 56px; padding-left: 14px; }
	.fpc-in { font-size: 1.1rem; }
	.fpc-ph-t { left: 50px; font-size: .95rem; }
	.fpc.fpc-hero.is-open { position: fixed; inset: 0; z-index: 100000; background: #070d22; padding: 10px; display: flex; flex-direction: column; }
	.fpc.fpc-hero.is-open .fpc-go { display: inline-block; }
	.fpc.fpc-hero.is-open .fpc-pn, .fpc-modal .fpc-pn { position: static; margin-top: 8px; flex: 1; max-height: none; border-radius: 16px; min-height: 0; }
	.fpc-modal { display: flex; flex-direction: column; height: 100%; }
	.fpc-velo { padding: 10px; }
	.fpc-bd { display: block; overflow-y: auto; }
	.fpc-ls { overflow: visible; min-height: 0; padding: 4px 8px 20px; }
	.fpc-pv { display: none; }
	.fpc-ap { display: block; }
	.fpc-ordine { margin-left: 0; }
	.fpc-th { width: 68px; height: 68px; }
	.fpc-c.e-top .fpc-th { width: 76px; height: 76px; }
	.fpc-c h4 { font-size: .94rem; }
	.fpc-fl { gap: 6px; }
	.fpc-chips { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 2px; }
	.fpc-chips button { white-space: nowrap; }
	.fpc-par { grid-template-columns: 1fr 1fr; }
}
@media ( prefers-reduced-motion: reduce ) {
	.fpc-box { animation: none; }
	.fpc-c { transition: none; }
}

/* filtri: un solo bottone piccolo che si apre */
.fpc-fl { display: block; padding: 6px 12px; }
.fpc-ft { border: 1px solid rgba( 255, 255, 255, .16 ); background: rgba( 255, 255, 255, .04 ); color: #aebbe0; border-radius: 99px; padding: 3px 10px; font: 700 .68rem/1.2 inherit; font-family: inherit; cursor: pointer; }
.fpc-ft b { margin-left: 5px; background: #ffd24a; color: #2a1800; border-radius: 99px; padding: 0 6px; }
.fpc-ft b:empty { display: none; }
.fpc-ft[aria-expanded="true"] { color: #fff; border-color: rgba( 167, 139, 250, .6 ); }
.fpc-fb { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding: 8px 0 4px; }
.fpc-fb[hidden] { display: none; }
.fpc-fb .fpc-chips button, .fpc-fb .fpc-ordine button { padding: 4px 9px; font-size: .7rem; }
/* riquadro sospeso sopra a tutto */
.fpc-pn.fpc-sosp { position: fixed; z-index: 2147483000; right: auto; margin: 0; font-family: inherit; color: #eef2ff; text-align: left; }
.fpc-pn *, .fpc-pn *::before, .fpc-pn *::after { box-sizing: border-box; }
.fpc-pn mark { background: rgba( 255, 210, 74, .32 ); color: #fff; border-radius: 3px; padding: 0 1px; }
.fpc.is-open { z-index: 2147483000; }
.fpc-eroe { z-index: 2147482000; }
@media ( max-width: 759px ) { .fpc-fb { flex-direction: column; align-items: stretch; } }
