
.ffy-ac{--navy:#142e53;--blue:#1769d5;--light:#f3f7fd;--line:#e0e9f5;--muted:#61748e;font-family:Arial,Helvetica,sans-serif;color:var(--navy);max-width:1160px;margin:24px auto 50px;padding:0 18px;text-align:left}
.ffy-ac *{box-sizing:border-box}
.ffy-ac .ac-hero{background:linear-gradient(115deg,#0d2b57,#1467ba 70%,#2c87d0);color:white;border-radius:25px;padding:38px 40px;position:relative;overflow:hidden;box-shadow:0 18px 42px rgba(18,63,120,.19)}
.ffy-ac .ac-hero:after{content:"";position:absolute;right:-75px;top:-90px;width:330px;height:330px;border:48px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.ffy-ac .ac-eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;text-transform:uppercase;color:#c6e3ff}
.ffy-ac h1{color:#fff;font-size:clamp(28px,4vw,43px);line-height:1.14;font-weight:800;margin:14px 0}
.ffy-ac .ac-hero p{color:#e3efff;font-size:16px;line-height:1.7;max-width:700px;margin:0}
.ffy-ac .ac-heading{margin:30px 0 15px;font-size:25px;font-weight:800;color:#17365f}
.ffy-ac .ac-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px;box-shadow:0 10px 30px rgba(25,57,103,.055)}
.ffy-ac .ac-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.ffy-ac .ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(110deg,#146cda,#1356a6);color:#fff!important;border:0;border-radius:12px;padding:13px 22px;font-size:14px;font-weight:bold;text-decoration:none!important;cursor:pointer;min-height:46px}
.ffy-ac .ac-btn:hover{filter:brightness(1.07)}
.ffy-ac .ac-btn-light{background:#eff5ff!important;color:#1b5aa9!important;border:1px solid #d9e6f7!important}
.ffy-ac .ac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ffy-ac .ac-tile{background:#fff;border:1px solid #e0e9f4;border-radius:19px;padding:25px;box-shadow:0 8px 26px rgba(26,56,97,.05);transition:transform .18s,border-color .18s}
.ffy-ac .ac-tile:hover{transform:translateY(-3px);border-color:#8bb8ed}
.ffy-ac .ac-tile h2,.ffy-ac .ac-tile h3{font-size:22px;color:#17365e;margin:0 0 12px;font-weight:800}
.ffy-ac .ac-tile p{font-size:14px;color:#63758c;line-height:1.75;margin:0 0 18px}
.ffy-ac .ac-icon{display:inline-flex;align-items:center;justify-content:center;width:55px;height:55px;border-radius:16px;background:#e8f3ff;color:#1467c7;font-size:26px;margin-bottom:15px}
.ffy-ac .ac-field{display:flex;flex-direction:column;gap:7px;margin:0}
.ffy-ac .ac-field label{font-weight:700;font-size:13px;color:#2a4467}
.ffy-ac .ac-field input,.ffy-ac .ac-field select{width:100%;height:49px;border:1px solid #cddcec;border-radius:11px;background:#f9fbff;color:#183452;padding:10px 13px;font-size:15px}
.ffy-ac .ac-field input:focus,.ffy-ac .ac-field select:focus{outline:2px solid #a4c9f5;border-color:#3077cc}
.ffy-ac .ac-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.ffy-ac .ac-regions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:20px 0}
.ffy-ac .ac-region{border:1px solid #dce7f5;background:#f7faff;border-radius:11px;padding:12px 8px;text-align:center;color:#31577e;font-size:12px;font-weight:700;cursor:pointer;min-height:45px}
.ffy-ac .ac-region:hover,.ffy-ac .ac-region.is-selected{background:#1769d5;color:white;border-color:#1769d5}
.ffy-ac .ac-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:20px 0}
.ffy-ac .ac-toolbar input{height:45px;border:1px solid #d3e0ef;border-radius:11px;padding:10px 15px;min-width:230px;max-width:100%;background:#fff}
.ffy-ac .ac-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.ffy-ac .ac-result{display:flex;flex-direction:column;gap:13px;background:#fff;border:1px solid #dce7f3;border-radius:19px;padding:22px;box-shadow:0 8px 26px rgba(27,62,107,.05);min-height:230px}
.ffy-ac .ac-result:hover{border-color:#92b8ea}
.ffy-ac .ac-result h3{font-size:21px;line-height:1.25;font-weight:800;color:#17365f;margin:0}
.ffy-ac .ac-meta{font-size:12px;color:#647b96;line-height:1.6}
.ffy-ac .ac-chip{display:inline-flex;align-items:center;align-self:flex-start;padding:6px 10px;background:#e9f5ff;color:#1760a8;border-radius:100px;font-size:11px;font-weight:bold}
.ffy-ac .ac-description{font-size:13px;line-height:1.65;color:#5c6d84;flex:1;overflow-wrap:anywhere}
.ffy-ac .ac-result .ac-actions{margin:4px 0 0;gap:9px}
.ffy-ac .ac-result .ac-btn{font-size:12px;padding:10px 13px;min-height:39px}
.ffy-ac .ac-pager{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:25px 0}
.ffy-ac .ac-pager button{min-width:39px;height:39px;padding:0 10px;border:1px solid #d6e3f3;background:white;color:#245384;border-radius:10px;font-weight:bold;cursor:pointer}
.ffy-ac .ac-pager button[aria-current=page]{background:#1769d5;color:white;border-color:#1769d5}
.ffy-ac [hidden]{display:none!important}
.ffy-ac .ac-note{font-size:12px;color:#73839b;margin-top:14px}
.ffy-ac .ac-modal{position:fixed;inset:0;z-index:999999;background:rgba(9,28,52,.75);display:flex;align-items:center;justify-content:center;padding:16px}
.ffy-ac .ac-dialog{width:min(850px,100%);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.ffy-ac .ac-dialog-top{display:flex;align-items:center;justify-content:space-between;background:#153b70;color:white;padding:17px 21px}
.ffy-ac .ac-dialog-top strong{color:white;font-size:16px}
.ffy-ac .ac-close{border:1px solid #9bb7d5;background:transparent;color:white;border-radius:9px;font-size:24px;width:39px;height:39px;cursor:pointer}
.ffy-ac .ac-dialog iframe{display:block;width:100%;height:min(65vh,540px);border:0}
@media(max-width:900px){.ffy-ac .ac-regions{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.ffy-ac{padding:0 12px}.ffy-ac .ac-hero{padding:28px 23px}.ffy-ac .ac-grid,.ffy-ac .ac-fields,.ffy-ac .ac-result-grid{grid-template-columns:1fr}.ffy-ac .ac-regions{grid-template-columns:repeat(2,minmax(0,1fr))}.ffy-ac .ac-panel{padding:20px}.ffy-ac .ac-toolbar input{width:100%}}

/* V10 - all new styling scoped to the directory content, not FFY chrome */
.ffy-ac .ac-result.ac-sponsored{position:relative;border:2px solid #0b78cf!important;background:linear-gradient(145deg,#eff8ff,#fff 58%)!important;box-shadow:0 13px 34px rgba(14,104,193,.15)!important}
.ffy-ac .ac-result.ac-sponsored:before{content:"★ IN EVIDENZA";position:absolute;right:18px;top:-12px;background:#116bbd;color:#fff;font-size:10px;font-weight:800;letter-spacing:.8px;padding:7px 13px;border-radius:25px}
.ffy-ac .ac-result.ac-sponsored h3{color:#085da6!important}
.ffy-ac .ac-sponsor-label{background:#dcefff!important;color:#075b9f!important}
.ffy-ac .ac-empty{text-align:center;background:#f4f9ff;border:1px dashed #bcd6f0;border-radius:19px;padding:35px 20px;margin:20px 0;color:#234c7b}
.ffy-ac .ac-empty h3{font-size:20px;margin:7px 0 9px;color:#17365f}
.ffy-ac .ac-empty p{font-size:14px;line-height:1.65;color:#627d9a}
.ffy-ac .ac-empty-icon{font-size:34px;color:#1477ca}
.ffy-ac .ac-hero-home{padding:49px 44px;background:linear-gradient(110deg,rgba(9,40,88,.96),rgba(17,94,173,.86)),url('Store-Locator2.jpg') center/cover!important}
.ffy-ac .ac-hero-home h1{font-size:clamp(31px,4.1vw,51px);letter-spacing:-1px;max-width:820px}
.ffy-ac .ac-hero-home h1 span{color:#9fddff}
.ffy-ac .ac-home-search{margin-top:28px;max-width:760px;background:#fff;padding:9px;border-radius:17px;box-shadow:0 15px 40px rgba(0,0,0,.16)}
.ffy-ac .ac-home-search label{display:block;font-size:11px;font-weight:bold;letter-spacing:.6px;color:#52749b;margin:6px 11px}
.ffy-ac .ac-home-search-row{display:flex;gap:8px}
.ffy-ac .ac-home-search-row input{flex:1;min-width:0;border:0;outline:0;padding:10px 13px;font-size:15px;color:#19395f}
.ffy-ac .ac-home-search-row button{white-space:nowrap}
.ffy-ac .ac-hero-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}
.ffy-ac .ac-hero-links a{color:#fff!important;font-weight:bold;font-size:13px;text-decoration:none}
.ffy-ac .ac-featured-section,.ffy-ac .ac-regions-section{margin-top:30px;background:#fff;border:1px solid #dfebf8;border-radius:23px;padding:26px;box-shadow:0 9px 29px rgba(28,64,110,.055)}
.ffy-ac .ac-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.ffy-ac .ac-section-head h2{font-size:clamp(23px,2.8vw,30px);color:#17365e;margin:6px 0}
.ffy-ac .ac-section-head p{color:#637a97;font-size:13px;margin:0}
.ffy-ac .ac-kicker{font-size:10px;letter-spacing:1.5px;color:#1173c5;font-weight:800}
.ffy-ac .ac-featured-nav{display:flex;gap:7px}
.ffy-ac .ac-featured-nav button{width:41px;height:41px;border:1px solid #d3e3f4;border-radius:50%;background:#f2f7fe;color:#1559a1;font-size:26px;cursor:pointer}
.ffy-ac .ac-featured-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 3px 15px;scrollbar-color:#bcd4f0 transparent}
.ffy-ac .ac-featured-card{position:relative;flex:0 0 min(310px,85%);scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;min-height:245px;padding:23px;border-radius:17px;border:1.5px solid #82b5e5;background:linear-gradient(145deg,#f1f9ff,#fff 55%);box-shadow:0 6px 20px rgba(19,91,160,.075)}
.ffy-ac .ac-featured-badge{align-self:flex-start;padding:7px 11px;border-radius:30px;background:#cfeaff;color:#095ba4;font-weight:800;font-size:11px}
.ffy-ac .ac-featured-category{font-size:12px;color:#7289a5}
.ffy-ac .ac-featured-card h3{font-size:20px;line-height:1.2;color:#163b6c;margin:0}
.ffy-ac .ac-featured-location{font-size:12px;color:#3b6795}
.ffy-ac .ac-featured-card p{font-size:13px;line-height:1.6;color:#5a6e85;flex:1;margin:0}
.ffy-ac .ac-featured-card .ac-actions{margin:0;gap:8px}
.ffy-ac .ac-featured-card .ac-btn{font-size:12px;padding:9px 13px;min-height:38px}
.ffy-ac .ac-featured-bottom{text-align:right;margin-top:8px;font-size:13px;font-weight:bold}
.ffy-ac .ac-featured-bottom a{color:#136bc1}
.ffy-ac .ac-regions-wow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.ffy-ac .ac-region-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-height:103px;border:1px solid #d9e8f8;background:linear-gradient(135deg,#f3f9ff,#fff);border-radius:14px;padding:15px;text-decoration:none!important;transition:.18s}
.ffy-ac .ac-region-tile:hover{transform:translateY(-3px);border-color:#5da0df;background:#e9f5ff}
.ffy-ac .ac-region-mark{font-size:22px;color:#1680d0}
.ffy-ac .ac-region-tile strong{font-size:13px;color:#1b487a;line-height:1.3}
.ffy-ac .ac-region-tile>span:last-child{font-size:11px;color:#2874b9}
.ffy-ac .ac-region-decoration{font-weight:900;color:#beddf8;letter-spacing:2px}
.ffy-ac .ac-bottom-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0;padding:26px 30px;border-radius:20px;background:#eaf5ff}
.ffy-ac .ac-bottom-cta h2{margin:6px 0;font-size:23px;color:#153c6c}
.ffy-ac .ac-bottom-cta p{margin:0;font-size:13px;color:#5d7795}
@media(max-width:950px){.ffy-ac .ac-regions-wow{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.ffy-ac .ac-hero-home{padding:29px 22px}.ffy-ac .ac-home-search-row{flex-direction:column}.ffy-ac .ac-featured-section,.ffy-ac .ac-regions-section{padding:20px 15px}.ffy-ac .ac-regions-wow{grid-template-columns:repeat(2,minmax(0,1fr))}.ffy-ac .ac-bottom-cta{flex-direction:column;align-items:flex-start}.ffy-ac .ac-section-head h2{font-size:24px}}

/* V11: form redesign without changing ASP fields or JavaScript validation */
.ffy-ac .ac-hero-register{background:linear-gradient(120deg,#0c3267,#1476c6 78%)!important;padding:40px}
.ffy-ac .ac-register-head{padding:32px 6px 16px}
.ffy-ac .ac-register-head h2{font-size:29px;margin:8px 0;color:#163b6b}
.ffy-ac .ac-register-head p{font-size:14px;color:#657e9b}
.ffy-ac .ac-register-form{border:1px solid #dce9f6;border-radius:22px;background:#fff;box-shadow:0 12px 40px rgba(20,62,112,.07);padding:25px;overflow-x:auto}
.ffy-ac .ac-register-form table{width:100%!important;max-width:100%!important;border-collapse:separate!important;border-spacing:0 8px!important;background:transparent!important}
.ffy-ac .ac-register-form td{border:0!important;border-bottom:1px solid #e8eff7!important;padding:13px!important;background:#fff!important;color:#294767!important;vertical-align:middle!important;font-size:14px!important;line-height:1.6}
.ffy-ac .ac-register-form tr:first-child>td{border-radius:12px 12px 0 0}
.ffy-ac .ac-register-form td[style*="background-color:#FFCC99"]{background:#e7f3ff!important;color:#164a80!important;font-weight:800!important;border-radius:12px!important}
.ffy-ac .ac-register-form input[type=text],.ffy-ac .ac-register-form input[type=password],.ffy-ac .ac-register-form input[type=email],.ffy-ac .ac-register-form select,.ffy-ac .ac-register-form textarea{width:min(100%,540px)!important;max-width:100%!important;min-height:42px;border:1px solid #cedff0!important;border-radius:10px!important;background:#f8fbff!important;padding:9px 12px!important;color:#16365e!important;font-size:14px!important}
.ffy-ac .ac-register-form textarea{min-height:115px}
.ffy-ac .ac-register-form input[type=radio],.ffy-ac .ac-register-form input[type=checkbox]{accent-color:#126dc4;transform:scale(1.18);margin:8px}
.ffy-ac .ac-register-form input[type=submit],.ffy-ac .ac-register-form .button{border:0!important;background:#126bd0!important;color:white!important;border-radius:12px!important;padding:14px 28px!important;font-weight:800!important;cursor:pointer}
.ffy-ac .ac-register-form td[style*="#FF99FF"]{background:#edf6ff!important}
.ffy-ac .ac-register-form td[style*="#CCFFCC"]{background:#f2f8ff!important}
@media(max-width:680px){.ffy-ac .ac-register-form{padding:12px}.ffy-ac .ac-register-form td{padding:9px!important}.ffy-ac .ac-hero-register{padding:26px 20px!important}}

.ffy-ac.ac-site-nav{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:18px auto 20px;padding:12px 14px;border:1px solid #dce8f5;border-radius:16px;background:#f8fbff;box-shadow:0 6px 20px rgba(23,60,109,.045)}
.ffy-ac .ac-nav-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none!important;padding:10px 14px;border-radius:11px;background:#fff;border:1px solid #e0eaf5;color:#23588b!important;font-size:13px;font-weight:700}
.ffy-ac .ac-nav-link:hover,.ffy-ac .ac-nav-link.is-current{background:#1769d5;color:#fff!important;border-color:#1769d5}
.ffy-ac .ac-nav-ico{font-size:19px;line-height:1}
.ffy-ac .ac-detail-intro{background:linear-gradient(120deg,#0d376d,#1672bf);padding:27px 30px;border-radius:21px;color:white}
.ffy-ac .ac-detail-intro h1{font-size:30px;margin:8px 0;color:white}
.ffy-ac .ac-detail-intro p{color:#e2efff;margin:0 0 15px;font-size:14px}
.ffy-ac .ac-detail-embed{margin-top:17px;border:1px solid #dce8f5;border-radius:18px;overflow:hidden;background:#f5f8fd}
.ffy-ac .ac-detail-embed iframe{display:block;width:100%;height:740px;border:0}
@media(max-width:600px){.ffy-ac.ac-site-nav{gap:6px}.ffy-ac .ac-nav-link{font-size:11px;padding:9px 10px}.ffy-ac .ac-detail-embed iframe{height:800px}}

/* V14: only active cards and dialogs are rendered. Critical for smooth scrolling. */
.ffy-ac .ac-result[hidden],.ffy-ac .ac-modal[hidden],.ffy-ac .ac-empty[hidden],.ffy-ac [hidden]{display:none!important}
.ffy-ac .ac-result-grid{align-items:stretch}
.ffy-ac .ac-result{contain:layout style paint}
.ffy-ac .ac-featured-card{contain:layout style paint}
.ffy-ac .ac-modal{overscroll-behavior:contain}
.ffy-ac .ac-dialog{max-height:92dvh}
.ffy-ac .ac-dialog iframe{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(prefers-reduced-motion:reduce){.ffy-ac *, .ffy-ac *::before,.ffy-ac *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V15 - discreet numbering, without layout shifts */
.ffy-ac .ac-result,.ffy-ac .ac-featured-card{position:relative}
.ffy-ac .ac-card-number{position:absolute;top:17px;right:18px;z-index:1;display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:12px;background:#eaf4ff;border:1px solid #c9e1f9;color:#1265b6;font-size:14px;font-weight:800;letter-spacing:.3px;font-variant-numeric:tabular-nums;line-height:1;pointer-events:none}
.ffy-ac .ac-result.ac-sponsored .ac-card-number{top:34px;background:#116bbd;color:#fff;border-color:#116bbd}
.ffy-ac .ac-featured-card .ac-featured-number{top:18px;right:17px;background:#fff;border-color:#bcdaf4}
.ffy-ac .ac-result .ac-chip{margin-right:50px}
@media(max-width:550px){.ffy-ac .ac-card-number{min-width:33px;height:33px;right:12px;top:12px;font-size:12px}.ffy-ac .ac-result.ac-sponsored .ac-card-number{top:35px}}

/* FFY V16 - ricerca integrativa, visivamente distinta */
.ffy-ac .ac-osm-pilot{margin:24px 0;padding:22px;background:#f3f9ff;border:1px solid #bdd9f4;border-radius:20px}
.ffy-ac .ac-osm-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}
.ffy-ac .ac-osm-head h2{margin:4px 0;font-size:24px;color:#153d69}
.ffy-ac .ac-osm-head p{font-size:13px;color:#526b88;margin:0}
.ffy-ac .ac-osm-eyebrow{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#1769d5}
.ffy-ac .ac-osm-status{font-size:12px;background:#e1efff;border-radius:99px;padding:9px 12px;color:#175a9d}
.ffy-ac .ac-osm-card{border:1px solid #bfd5ed;background:#fff}
.ffy-ac .ac-osm-card .ac-chip{background:#e9f2fc;color:#1d5d9c}
.ffy-ac .ac-osm-credit{margin:18px 0 0;font-size:12px;color:#526b88}
.ffy-ac .ac-osm-credit a{color:#1769d5}

.ffy-ac .ac-osm-fallback{padding:18px;margin:15px 0;border-radius:14px;background:#eef6ff;border:1px solid #c9dff7}.ffy-ac .ac-osm-fallback p{margin:0 0 12px;color:#28537c}.ffy-ac .ac-osm-fallback[hidden]{display:none!important}
