/* ==========================================================================
   Infovisti — Redesign design system (pilot: service detail archetype)
   Scoped under .infovisti-redesign to avoid clashing with Enfold/Avia.
   Source of truth: dev.salonbooking.it/infovisti mockups.
   ========================================================================== */

.infovisti-redesign *,
.infovisti-redesign *::before,
.infovisti-redesign *::after { box-sizing: border-box; margin: 0; padding: 0; }

.infovisti-redesign {
  --blue-900:#042C53;--blue-800:#0C447C;--blue-700:#0c5aa3;--blue-500:#1A6FBF;
  --blue-400:#378ADD;--blue-200:#85B7EB;--blue-100:#B5D4F4;--blue-50:#E6F1FB;
  --rose-700:#A8316B;--rose-600:#cf4988;--rose-400:#E06EAA;--rose-50:#FBEAF0;
  --teal-600:#0F6E56;--teal-400:#1D9E75;--teal-100:#9FE1CB;--teal-50:#E1F5EE;
  --amber-500:#F59E0B;--amber-50:#FFFBEB;--amber-100:#FEF3C7;
  --sand-600:#B45309;--sand-50:#FFF7ED;
  --ink:#1a1a2e;--ink-60:#4a4a6a;--ink-40:#6b7280;--ink-20:#d1d5db;
  --ink-10:#e5e7eb;--ink-05:#f3f4f6;--ink-02:#f9fafb;--white:#fff;
  --font-display:'DM Serif Display',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:20px;--r-2xl:28px;--r-pill:99px;
  --shadow-card:0 2px 8px rgba(4,44,83,.06),0 1px 2px rgba(4,44,83,.04);
  --shadow-hover:0 8px 24px rgba(4,44,83,.12),0 2px 6px rgba(4,44,83,.06);
  --shadow-lift:0 16px 40px rgba(4,44,83,.14);
  --shadow-xl:0 28px 56px rgba(4,44,83,.2);
  --ease:cubic-bezier(.4,0,.2,1);--t:200ms;
  font-family:var(--font-body);color:var(--ink);background:var(--white);
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
html { scroll-behavior:smooth; }

/* ---- TOPBAR ---- */
.infovisti-redesign .topbar{background:var(--blue-900);padding:7px 40px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px}
.infovisti-redesign .topbar-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
/* Contatti topbar: icona semantica + label, contrasto migliorato */
.infovisti-redesign .topbar-left .tb-item{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.85);font-size:12.5px;font-weight:500;line-height:1;text-decoration:none;transition:color var(--t) var(--ease)}
.infovisti-redesign .topbar-left .tb-item:hover{color:#fff}
.infovisti-redesign .topbar-left .tb-addr{color:rgba(255,255,255,.62);font-weight:400}
.infovisti-redesign .topbar-left .tb-addr:hover{color:rgba(255,255,255,.92)}
.infovisti-redesign .topbar-left .tb-ico{width:14px;height:14px;flex:0 0 auto;background-color:currentColor;opacity:.85;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.infovisti-redesign .topbar-left .tb-item:hover .tb-ico{opacity:1}
.infovisti-redesign .topbar-left .tb-phone .tb-ico{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.infovisti-redesign .topbar-left .tb-mail .tb-ico{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.75' width='19' height='14.5' rx='2.5'/%3E%3Cpath d='M3.2 6.4l7.35 5.09a2.5 2.5 0 0 0 2.9 0L20.8 6.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.75' width='19' height='14.5' rx='2.5'/%3E%3Cpath d='M3.2 6.4l7.35 5.09a2.5 2.5 0 0 0 2.9 0L20.8 6.4'/%3E%3C/svg%3E")}
.infovisti-redesign .topbar-left .tb-addr .tb-ico{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E")}
@media (max-width:600px){.infovisti-redesign .topbar-left .tb-addr{display:none}}
.infovisti-redesign .topbar a{color:rgba(255,255,255,.65);text-decoration:none;display:flex;align-items:center;gap:5px;transition:color var(--t) var(--ease)}
.infovisti-redesign .topbar a:hover{color:#fff}
.infovisti-redesign .topbar-right{display:flex;gap:8px;align-items:center}
/* GTranslate flag switcher nel topbar */
.infovisti-redesign .topbar-right .gtranslate_wrapper{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.infovisti-redesign .topbar-right .gtranslate_wrapper a{margin:0!important;display:inline-flex;line-height:0}
.infovisti-redesign .topbar-right .gtranslate_wrapper img{width:20px;height:20px;border-radius:2px;opacity:.8;transition:opacity var(--t) var(--ease);vertical-align:middle}
.infovisti-redesign .topbar-right .gtranslate_wrapper a:hover img{opacity:1}
.infovisti-redesign .lang{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.75);padding:2px 9px;border-radius:var(--r-sm);font-size:11px;font-family:var(--font-body);cursor:pointer;transition:all var(--t) var(--ease)}
.infovisti-redesign .lang:hover,.infovisti-redesign .lang.active{background:rgba(255,255,255,.2);color:#fff}

/* ---- HEADER ---- */
.infovisti-redesign .header{background:#fff;border-bottom:1px solid var(--ink-10);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:70px;position:sticky;top:0;z-index:200;transition:box-shadow var(--t) var(--ease)}
.infovisti-redesign .logo-wrap img{height:42px;width:auto;display:block}
.infovisti-redesign .nav{display:flex;align-items:center;gap:2px;list-style:none}
.infovisti-redesign .nav>li{position:relative}
.infovisti-redesign .nav>li>a{display:flex;align-items:center;gap:4px;padding:8px 13px;font-size:14px;font-weight:500;color:var(--ink-60);text-decoration:none;border-radius:var(--r-md);transition:all var(--t) var(--ease);white-space:nowrap}
.infovisti-redesign .nav>li>a:hover,.infovisti-redesign .nav>li>a.current{background:var(--blue-50);color:var(--blue-700)}
.infovisti-redesign .nav>li>a.current{font-weight:600}
.infovisti-redesign .nav>li>a svg{width:10px;height:10px;opacity:.5;transition:transform var(--t) var(--ease)}
.infovisti-redesign .nav>li:hover>a svg{transform:rotate(180deg);opacity:1}
.infovisti-redesign .dropdown{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lift);border:1px solid var(--ink-10);min-width:210px;padding:8px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease);z-index:300}
.infovisti-redesign .dropdown::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.infovisti-redesign .nav>li:hover .dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.infovisti-redesign .dropdown a{display:flex;align-items:center;gap:9px;padding:8px 10px;font-size:13px;color:var(--ink-60);text-decoration:none;border-radius:var(--r-md);transition:all var(--t) var(--ease)}
.infovisti-redesign .dropdown a:hover{background:var(--blue-50);color:var(--blue-700)}
.infovisti-redesign .di{width:28px;height:28px;background:var(--blue-50);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.infovisti-redesign .dropdown-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-40);padding:6px 10px 2px}
.infovisti-redesign .dropdown-sep{height:1px;background:var(--ink-10);margin:6px 0}
.infovisti-redesign .dropdown-all{font-size:12px;font-weight:600;color:var(--blue-700)!important;border-top:1px solid var(--ink-10);margin-top:4px;padding-top:6px!important}
.infovisti-redesign .cta-primary{background:var(--rose-600);color:#fff;border:none;padding:10px 20px;border-radius:var(--r-md);font-size:14px;font-weight:600;font-family:var(--font-body);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:all var(--t) var(--ease)}
/* Envelope icon: inline SVG, scales with text (em) and inherits text color */
.infovisti-redesign .cta-primary::before{content:"";width:1.05em;height:1.05em;flex:0 0 auto;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.75' width='19' height='14.5' rx='2.5'/%3E%3Cpath d='M3.2 6.4l7.35 5.09a2.5 2.5 0 0 0 2.9 0L20.8 6.4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.75' width='19' height='14.5' rx='2.5'/%3E%3Cpath d='M3.2 6.4l7.35 5.09a2.5 2.5 0 0 0 2.9 0L20.8 6.4'/%3E%3C/svg%3E") center/contain no-repeat}
.infovisti-redesign .cta-primary:hover{background:var(--rose-700);transform:translateY(-1px);box-shadow:0 4px 12px rgba(207,73,136,.35)}
/* Phone icon: inline SVG that inherits text color (white on dark CTAs) — replaces the dark 📞 emoji */
.infovisti-redesign .s-tel::before,
.infovisti-redesign .cta-tel-btn::before,
.infovisti-redesign .cc-tel::before,
.infovisti-redesign .cta-secondary[href^="tel:"]::before,
.infovisti-redesign .tel-btn::before{content:"";width:1.05em;height:1.05em;flex:0 0 auto;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1.5 4.5a3 3 0 0 1 3-3h1.372c.86 0 1.61.586 1.819 1.42l1.105 4.423a1.875 1.875 0 0 1-.694 1.955l-1.293.97c-.135.101-.164.249-.126.352a11.285 11.285 0 0 0 6.697 6.697c.103.038.25.009.352-.126l.97-1.293a1.875 1.875 0 0 1 1.955-.694l4.423 1.105c.834.209 1.42.959 1.42 1.82V19.5a3 3 0 0 1-3 3h-2.25C8.552 22.5 1.5 15.448 1.5 6.75V4.5Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1.5 4.5a3 3 0 0 1 3-3h1.372c.86 0 1.61.586 1.819 1.42l1.105 4.423a1.875 1.875 0 0 1-.694 1.955l-1.293.97c-.135.101-.164.249-.126.352a11.285 11.285 0 0 0 6.697 6.697c.103.038.25.009.352-.126l.97-1.293a1.875 1.875 0 0 1 1.955-.694l4.423 1.105c.834.209 1.42.959 1.42 1.82V19.5a3 3 0 0 1-3 3h-2.25C8.552 22.5 1.5 15.448 1.5 6.75V4.5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.infovisti-redesign .cta-secondary{background:transparent;color:var(--blue-700);border:1.5px solid var(--blue-200);padding:9px 18px;border-radius:var(--r-md);font-size:14px;font-weight:600;font-family:var(--font-body);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:all var(--t) var(--ease)}
.infovisti-redesign .cta-secondary:hover{background:var(--blue-50);border-color:var(--blue-400)}

/* ---- MOBILE NAV (hamburger + accordion drawer) ---- */
.infovisti-redesign .header-mobile-actions{display:none;align-items:center;gap:8px}
.infovisti-redesign .tel-btn{display:inline-flex;align-items:center;gap:5px;background:var(--blue-50);color:var(--blue-700);border-radius:var(--r-md);height:36px;padding:0 12px;font-size:12.5px;font-weight:600;text-decoration:none}
.infovisti-redesign .tel-btn:hover{background:var(--blue-100)}
.infovisti-redesign .nav-toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--r-md);cursor:pointer;color:var(--ink);-webkit-tap-highlight-color:transparent}
.infovisti-redesign .nav-toggle:hover{background:var(--ink-05)}
.infovisti-redesign .nav-toggle-box{position:relative;width:22px;height:16px;display:block}
.infovisti-redesign .nav-toggle-inner,.infovisti-redesign .nav-toggle-inner::before,.infovisti-redesign .nav-toggle-inner::after{position:absolute;left:0;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--t) var(--ease),opacity var(--t) var(--ease),top var(--t) var(--ease)}
.infovisti-redesign .nav-toggle-inner{top:7px}
.infovisti-redesign .nav-toggle-inner::before{content:"";top:-7px}
.infovisti-redesign .nav-toggle-inner::after{content:"";top:7px}
.infovisti-redesign .nav-toggle.is-open .nav-toggle-inner{transform:rotate(45deg)}
.infovisti-redesign .nav-toggle.is-open .nav-toggle-inner::before{top:0;opacity:0}
.infovisti-redesign .nav-toggle.is-open .nav-toggle-inner::after{top:0;transform:rotate(-90deg)}

.infovisti-redesign .mobile-menu{position:fixed;top:104px;left:0;right:0;bottom:0;background:#fff;z-index:190;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t) var(--ease);border-top:1px solid var(--ink-10)}
.infovisti-redesign.ivr-menu-open .mobile-menu{opacity:1;visibility:visible;transform:translateY(0)}
.infovisti-redesign.ivr-menu-open{overflow:hidden}
.infovisti-redesign .mobile-menu-inner{padding:6px 0 32px}
.infovisti-redesign .macc{border-bottom:1px solid var(--ink-05)}
.infovisti-redesign .macc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;min-height:52px;background:transparent;border:none;font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer}
.infovisti-redesign .macc-head .current,.infovisti-redesign .macc-link.current{color:var(--blue-700)}
.infovisti-redesign .macc-head:hover{background:var(--ink-02)}
.infovisti-redesign .macc-link{display:block}
.infovisti-redesign .macc-chevron{width:12px;height:8px;flex-shrink:0;color:var(--ink-40);transition:transform var(--t) var(--ease)}
.infovisti-redesign .macc.open .macc-chevron{transform:rotate(180deg)}
.infovisti-redesign .macc-panel{max-height:0;overflow:hidden;transition:max-height 320ms var(--ease);background:var(--ink-02)}
.infovisti-redesign .macc-panel-inner{padding:4px 20px 14px}
.infovisti-redesign .macc-panel-inner a{display:flex;align-items:center;gap:11px;padding:11px 6px;min-height:48px;font-size:14.5px;color:var(--ink-60);text-decoration:none;border-bottom:1px solid var(--ink-05)}
.infovisti-redesign .macc-panel-inner a:last-child{border-bottom:none}
.infovisti-redesign .macc-panel-inner a:active{color:var(--blue-700)}
.infovisti-redesign .macc-panel-inner .di{width:30px;height:30px}
.infovisti-redesign .macc-sublabel{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-40);padding:12px 6px 4px}
.infovisti-redesign .macc-sep{height:1px;background:var(--ink-10);margin:6px 0}
.infovisti-redesign .macc-all{font-weight:600;color:var(--blue-700)!important}
.infovisti-redesign .mobile-menu-cta{padding:18px 20px}
.infovisti-redesign .mobile-menu-cta .cta-primary{width:100%;justify-content:center;padding:14px 20px;font-size:15px}

@media (min-width:1001px){
  .infovisti-redesign .mobile-menu,.infovisti-redesign .header-mobile-actions{display:none!important}
}
@media (max-width:1000px){
  .infovisti-redesign .header-mobile-actions{display:flex}
  .infovisti-redesign .header>.cta-primary{display:none}
  .infovisti-redesign .header{height:56px;padding:0 16px}
  .infovisti-redesign .logo-wrap img{height:32px}
}

/* ---- BREADCRUMB ---- */
.infovisti-redesign .breadcrumb{background:var(--ink-02);border-bottom:1px solid var(--ink-10);padding:10px 40px;font-size:12.5px;color:var(--ink-40);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.infovisti-redesign .breadcrumb a{color:var(--blue-700);text-decoration:none;font-weight:500}
.infovisti-redesign .breadcrumb a:hover{text-decoration:underline}

/* ======================== PAGE HERO ======================== */
.infovisti-redesign .page-hero{background:linear-gradient(135deg, #03213E 0%, #05345F 45%, #083A6E 100%);padding:52px 40px 0;position:relative;overflow:hidden}
.infovisti-redesign .page-hero::before{content:'';position:absolute;top:0;right:0;width:40%;height:100%;background-image:repeating-linear-gradient(-55deg,rgba(245,158,11,.08) 0,rgba(245,158,11,.08) 1px,transparent 0,transparent 36px);-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.9),transparent 100%);mask-image:linear-gradient(to left,rgba(0,0,0,.9),transparent 100%)}
.infovisti-redesign .page-hero::after{content:'';position:absolute;bottom:-60px;left:-40px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(0,180,100,.08) 0%,transparent 70%)}
.infovisti-redesign .page-hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:end;position:relative;z-index:1}
.infovisti-redesign .page-hero-text{padding-bottom:52px}
.infovisti-redesign .norm-alert{display:flex;align-items:flex-start;gap:12px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);border-radius:var(--r-lg);padding:12px 16px;margin-bottom:22px;font-size:13px;color:rgba(255,255,255,.9);line-height:1.6}
.infovisti-redesign .norm-alert-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.infovisti-redesign .norm-alert strong{color:#FCD34D;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;display:block;margin-bottom:3px}
.infovisti-redesign .page-hero-flag{font-size:48px;margin-bottom:16px;display:block;line-height:1}
.infovisti-redesign .page-hero h1{font-family:var(--font-display);font-size:clamp(28px,3.8vw,48px);font-weight:400;line-height:1.05;color:#fff;margin-bottom:12px}
.infovisti-redesign .page-hero h1 em{font-style:italic;color:var(--rose-400)}
.infovisti-redesign .page-hero-sub{font-size:15.5px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:28px;max-width:560px}
.infovisti-redesign .page-hero-metas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:0}
.infovisti-redesign .meta-pill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:7px 13px;border-radius:var(--r-pill);font-size:12.5px;color:rgba(255,255,255,.88);font-weight:500}
.infovisti-redesign .meta-pill strong{color:#fff}
.infovisti-redesign .meta-pill.green{background:rgba(29,158,117,.15);border-color:rgba(29,158,117,.3)}
.infovisti-redesign .meta-pill.amber{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.3);color:#FCD34D}

/* CONTACT CARD */
.infovisti-redesign .contact-card{background:#fff;border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:24px 24px 28px;box-shadow:0 -8px 40px rgba(4,44,83,.22);position:relative}
.infovisti-redesign .contact-card::before{content:'';position:absolute;top:-1px;left:32px;right:32px;height:3px;background:linear-gradient(90deg,var(--rose-600),var(--amber-500));border-radius:0 0 3px 3px}
.infovisti-redesign .cc-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:3px}
.infovisti-redesign .cc-sub{font-size:12.5px;color:var(--ink-40);margin-bottom:12px}
.infovisti-redesign .cc-field{margin-bottom:11px}
.infovisti-redesign .cc-field label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-40);margin-bottom:5px}
.infovisti-redesign .cc-input,.infovisti-redesign .cc-textarea{width:100%;padding:9px 12px;border:1.5px solid var(--ink-10);border-radius:var(--r-md);font-size:13.5px;font-family:var(--font-body);color:var(--ink);transition:border-color var(--t) var(--ease)}
.infovisti-redesign .cc-textarea{font-size:13px;resize:vertical;min-height:72px}
.infovisti-redesign .cc-input:focus,.infovisti-redesign .cc-textarea:focus,.infovisti-redesign .cc-select:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,.12)}
.infovisti-redesign .cc-select{width:100%;padding:9px 32px 9px 12px;border:1.5px solid var(--ink-10);border-radius:var(--r-md);font-size:13.5px;font-family:var(--font-body);color:var(--ink-60);background:#fff;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;cursor:pointer}
.infovisti-redesign .cc-submit{width:100%;padding:12px;background:var(--rose-600);color:#fff;border:none;border-radius:var(--r-md);font-size:14px;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:all var(--t) var(--ease);margin-top:4px}
.infovisti-redesign .cc-submit:hover{background:var(--rose-700);box-shadow:0 4px 12px rgba(207,73,136,.3)}
.infovisti-redesign .cc-note{margin-top:6px;font-size:11px;color:var(--ink-40);text-align:center;line-height:1.5}
.infovisti-redesign .cc-tel{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:5px;font-size:13px;font-weight:600;color:var(--blue-700);text-decoration:none}

/* CONTATTI — recapiti + orari + mappa */
.infovisti-redesign .contact-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:44px}
.infovisti-redesign .info-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:24px;text-decoration:none;color:inherit;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease)}
.infovisti-redesign a.info-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--blue-200)}
.infovisti-redesign .info-card-icon{width:44px;height:44px;border-radius:var(--r-md);background:var(--blue-50);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.infovisti-redesign .info-card h3{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px}
.infovisti-redesign .info-card p{font-size:14px;color:var(--ink-60);line-height:1.6;margin-bottom:12px}
.infovisti-redesign .info-card-link{margin-top:auto;font-size:13px;font-weight:600;color:var(--blue-700)}
.infovisti-redesign .info-card-hours{background:var(--ink-02)}
.infovisti-redesign .contact-hours{list-style:none;width:100%;margin:0}
.infovisti-redesign .contact-hours li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-60);padding:6px 0;border-bottom:1px solid var(--ink-10)}
.infovisti-redesign .contact-hours li:last-child{border-bottom:none}
.infovisti-redesign .contact-hours strong{color:var(--ink);font-weight:600;text-align:right}
.infovisti-redesign .contact-map{border-radius:var(--r-2xl);overflow:hidden;border:1.5px solid var(--ink-10);box-shadow:var(--shadow-card);line-height:0}
.infovisti-redesign .contact-map iframe{display:block;width:100%}
/* Contatti hero: long CF7 form -> testo in alto, card che "galleggia" */
.infovisti-contatti .page-hero{padding-bottom:52px}
.infovisti-contatti .page-hero-inner{align-items:start}
.infovisti-contatti .page-hero-text{padding-bottom:0;padding-top:8px}
.infovisti-contatti .contact-card{border-radius:var(--r-2xl);box-shadow:0 24px 60px rgba(4,44,83,.35)}

/* ======================== BODY LAYOUT ======================== */
.infovisti-redesign .page-body{max-width:1180px;margin:0 auto;padding:52px 40px;display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}
.infovisti-redesign .page-body-wrap{background:var(--ink-02)}

/* --- NEWS BOX --- */
.infovisti-redesign .news-box{background:linear-gradient(135deg,#0a2a1a,#0d3b24);border:1px solid rgba(29,158,117,.3);border-radius:var(--r-xl);padding:26px 28px;margin-bottom:36px;position:relative;overflow:hidden}
.infovisti-redesign .news-box::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(29,158,117,.08)}
.infovisti-redesign .news-box-inner{position:relative;z-index:1}
.infovisti-redesign .news-box-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--teal-100);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.infovisti-redesign .news-box-label::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal-400);flex-shrink:0}
.infovisti-redesign .news-box h3{font-family:var(--font-display);font-size:20px;font-weight:400;color:#fff;margin-bottom:10px;line-height:1.2}
.infovisti-redesign .news-box p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:14px}
.infovisti-redesign .news-box-tags{display:flex;gap:8px;flex-wrap:wrap}
.infovisti-redesign .news-tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--r-pill);background:rgba(29,158,117,.2);border:1px solid rgba(29,158,117,.35);color:var(--teal-100)}
.infovisti-redesign .news-tag.amber{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.3);color:#FCD34D}

/* --- PROCEDURE STEPS --- */
.infovisti-redesign .procedure-section{margin-bottom:36px}
.infovisti-redesign .procedure-section>h2,.infovisti-redesign .docs-section>h2,.infovisti-redesign .traduzione-section>h2{font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--blue-900);margin-bottom:6px}
.infovisti-redesign .section-sub{font-size:14px;color:var(--ink-60);margin-bottom:24px;line-height:1.65}
.infovisti-redesign .step-list{display:flex;flex-direction:column;gap:0}
.infovisti-redesign .step-item{display:grid;grid-template-columns:56px 1fr;gap:0;position:relative}
.infovisti-redesign .step-item+.step-item::before{content:'';position:absolute;left:27px;top:0;height:100%;width:2px;background:linear-gradient(to bottom,var(--blue-200),var(--blue-100));z-index:0}
.infovisti-redesign .step-dot{width:56px;display:flex;flex-direction:column;align-items:center;padding-top:2px;position:relative;z-index:1}
.infovisti-redesign .step-num{width:32px;height:32px;border-radius:50%;background:var(--blue-700);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--blue-200)}
.infovisti-redesign .step-content{padding:0 0 28px 8px}
.infovisti-redesign .step-content h3{font-size:15.5px;font-weight:700;color:var(--blue-900);margin-bottom:6px;line-height:1.3}
.infovisti-redesign .step-content p{font-size:13.5px;color:var(--ink-60);line-height:1.7;margin-bottom:8px}
.infovisti-redesign .step-content ul{padding-left:16px;margin-top:4px}
.infovisti-redesign .step-content ul li{font-size:13px;color:var(--ink-60);margin-bottom:4px;line-height:1.6}
.infovisti-redesign .step-time{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:var(--r-pill);margin-top:6px}
.infovisti-redesign .step-time.fast{background:var(--teal-50);color:var(--teal-600);border:1px solid var(--teal-100)}
.infovisti-redesign .step-time.standard{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100)}
.infovisti-redesign .step-warn{display:flex;align-items:flex-start;gap:8px;background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--r-md);padding:10px 13px;font-size:12.5px;color:var(--sand-600);line-height:1.6;margin-top:8px}

/* --- DOCS CHECKLIST --- */
.infovisti-redesign .docs-section{margin-bottom:36px}
.infovisti-redesign .doc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.infovisti-redesign .doc-tab{padding:8px 16px;border:1.5px solid var(--ink-10);background:#fff;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:var(--ink-40);cursor:pointer;font-family:var(--font-body);transition:all var(--t) var(--ease);display:flex;align-items:center;gap:6px}
.infovisti-redesign .doc-tab:hover{border-color:var(--blue-200);color:var(--blue-700)}
.infovisti-redesign .doc-tab.active{background:var(--blue-700);border-color:var(--blue-700);color:#fff}
.infovisti-redesign .checklist{display:flex;flex-direction:column;gap:10px}
.infovisti-redesign .check-item{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;padding:14px 16px;background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-lg);transition:all var(--t) var(--ease)}
.infovisti-redesign .check-item:hover{border-color:var(--blue-200);box-shadow:var(--shadow-card)}
.infovisti-redesign .check-icon{width:28px;height:28px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;background:var(--blue-50)}
.infovisti-redesign .check-text strong{font-size:14px;font-weight:700;color:var(--ink);display:block;margin-bottom:2px}
.infovisti-redesign .check-text span{font-size:12.5px;color:var(--ink-60);line-height:1.55}
.infovisti-redesign .check-badge{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0;margin-top:2px}
.infovisti-redesign .badge-required{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.infovisti-redesign .badge-optional{background:var(--ink-05);color:var(--ink-60);border:1px solid var(--ink-10)}
.infovisti-redesign .badge-new{background:var(--amber-50);color:var(--sand-600);border:1px solid var(--amber-100)}

/* --- TRADUZIONE --- */
.infovisti-redesign .traduzione-section{margin-bottom:36px}
.infovisti-redesign .traduzione-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.infovisti-redesign .trad-card{border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px 20px;background:#fff;transition:all var(--t) var(--ease)}
.infovisti-redesign .trad-card:hover{border-color:var(--blue-200);box-shadow:var(--shadow-card)}
.infovisti-redesign .trad-card h3{font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.infovisti-redesign .trad-card ul{padding-left:16px}
.infovisti-redesign .trad-card ul li{font-size:13px;color:var(--ink-60);margin-bottom:4px;line-height:1.6}
.infovisti-redesign .trad-card a{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--blue-700);text-decoration:none;transition:gap var(--t) var(--ease)}
.infovisti-redesign .trad-card a:hover{gap:8px}

/* --- FAQ --- */
.infovisti-redesign .faq-section{margin-bottom:36px}
.infovisti-redesign .faq-section>h2{font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--blue-900);margin-bottom:20px}
.infovisti-redesign .faq-item{border:1.5px solid var(--ink-10);border-radius:var(--r-lg);margin-bottom:8px;overflow:hidden;background:#fff}
.infovisti-redesign .faq-q{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);transition:background var(--t) var(--ease);gap:12px;line-height:1.4}
.infovisti-redesign .faq-q:hover{background:var(--blue-50)}
.infovisti-redesign .faq-item.open .faq-q{background:var(--blue-50);color:var(--blue-700)}
.infovisti-redesign .faq-chevron{width:22px;height:22px;border-radius:50%;background:var(--ink-05);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;transition:all var(--t) var(--ease);color:var(--ink-40)}
.infovisti-redesign .faq-item.open .faq-chevron{background:var(--blue-700);color:#fff;transform:rotate(180deg)}
.infovisti-redesign .faq-a{display:none;padding:0 18px 16px;font-size:13.5px;color:var(--ink-60);line-height:1.75;border-top:1px solid var(--ink-10)}
.infovisti-redesign .faq-item.open .faq-a{display:block;padding-top:14px}
.infovisti-redesign .faq-a ul{padding-left:16px;margin-top:6px}
.infovisti-redesign .faq-a ul li{margin-bottom:5px}
.infovisti-redesign .faq-a a{color:var(--blue-700);font-weight:600;text-decoration:none}

/* --- CORPO POST IMMIGRAZIONE: colonna unica con griglie preservate ---
   Le pagine dettaglio immigrazione usavano la griglia float Avia (glossario,
   testo e link affiancati). Ora il corpo del post e' su un'unica colonna di
   LETTURA: il wrapper diventa un contenitore flex e ogni blocco occupa la
   propria riga a piena larghezza (regola "> *"). Restano invece a griglia solo
   gli elementi gia' concepiti "a card": le tessere tipologie di permesso
   (av_one_fourth, 4 per riga) e i box "Perche' scegliere" (av_one_half, 2 per
   riga). Le colonne strette accessorie (glossario A-Z e lista "Link utili",
   entrambe av_one_fifth) verrebbero PRIMA dell'introduzione: con "order" le
   spostiamo in coda cosi' l'intro resta il primo contenuto del corpo. */
.infovisti-redesign.infovisti-immi .editorial-body .flex_column > .flex_column_inner,
.infovisti-redesign.infovisti-immi .editorial-body .flex_column img{max-width:100%;height:auto}
.infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper{
  display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:2.4%}
.infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > *{flex:0 0 100%;max-width:100%}
.infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > .flex_column.av_one_fourth{
  flex:0 0 23.2%;width:23.2%!important;max-width:23.2%;margin:0 0 20px!important}
.infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > .flex_column.av_one_half{
  flex:0 0 48.8%;width:48.8%!important;max-width:48.8%;margin:0 0 20px!important}
.infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > .flex_column.av_one_fifth{order:1}
/* Le tessere tipologie sono immagini quadrate 500x500: la regola generale
   .avia-image-container img{max-width:220px} le rendeva a 220px, oltre i ~174px
   della colonna, facendole sbordare e sovrapporre. Le conteniamo nella tessera
   cosi' resta lo spazio (column-gap) tra una e l'altra. */
.infovisti-redesign.infovisti-immi .editorial-body .flex_column.av_one_fourth .avia-image-container{
  margin:0!important;text-align:left}
.infovisti-redesign.infovisti-immi .editorial-body .flex_column.av_one_fourth .avia-image-container img{
  width:100%!important;max-width:100%!important;height:auto!important}
/* Feature image (banner in cima al post): a piena larghezza del contenitore.
   La regola generale .avia-image-container img{max-width:220px} la teneva
   piccola; qui la portiamo al 100% del corpo. */
.infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > .avia-image-container:first-child{
  width:100%;text-align:center;margin:0 0 24px}
.infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > .avia-image-container:first-child img{
  width:100%!important;max-width:100%!important;height:auto!important;border-radius:var(--r-lg)}
/* Dettaglio documenti (legalizzazioni/apostille/dich. valore): la feature image
   sta dentro la prima colonna av_one_full -> a piena larghezza colonna. */
.infovisti-doc .editorial-body .entry-content-wrapper > .flex_column:first-child .avia-image-container{
  margin:0 0 24px!important;text-align:center}
.infovisti-doc .editorial-body .entry-content-wrapper > .flex_column:first-child .avia-image-container .avia-image-container-inner{max-width:100%}
.infovisti-doc .editorial-body .entry-content-wrapper > .flex_column:first-child .avia-image-container img{
  width:100%!important;max-width:100%!important;height:auto!important;border-radius:var(--r-lg)}
@media (max-width:768px){
  .infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > .flex_column.av_one_fourth{
    flex:0 0 48.8%;width:48.8%!important;max-width:48.8%}
  .infovisti-redesign.infovisti-immi .editorial-body .entry-content-wrapper > .flex_column.av_one_half{
    flex:0 0 100%;width:100%!important;max-width:100%}
}

/* --- ACCORDION LEGACY AVIA -> stile redesign (single traduzione/paese) ---
   Riveste i toggle Avia (.single_toggle/.toggler/.toggle_wrap) col look degli
   accordion nuovi. Avia scopa via #top (id) quindi servono !important mirati.
   Apertura/chiusura restano gestite dal JS Avia (classe .activeTitle). */
.infovisti-redesign .editorial-body .toggle_container{margin:0 0 24px}
.infovisti-redesign .editorial-body .single_toggle{
  border:1.5px solid var(--ink-10)!important;border-radius:var(--r-lg)!important;
  margin-bottom:8px!important;overflow:hidden;background:#fff!important;box-shadow:none!important}
.infovisti-redesign .editorial-body .toggler{
  display:flex!important;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px!important;margin:0!important;border:0!important;border-radius:0!important;
  background:#fff!important;background-image:none!important;color:var(--ink)!important;
  font-family:inherit!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;
  cursor:pointer;transition:background var(--t) var(--ease)}
.infovisti-redesign .editorial-body .toggler:hover{background:var(--blue-50)!important}
.infovisti-redesign .editorial-body .toggler.activeTitle{background:var(--blue-50)!important;color:var(--blue-700)!important}
/* chevron badge ricavato dal +/- di Avia */
.infovisti-redesign .editorial-body .toggler .toggle_icon{
  position:static!important;float:none!important;flex-shrink:0;
  width:22px!important;height:22px!important;border-radius:50%;background:var(--ink-05)!important;
  display:flex!important;align-items:center;justify-content:center;
  transition:all var(--t) var(--ease)}
.infovisti-redesign .editorial-body .toggler.activeTitle .toggle_icon{background:var(--blue-700)!important}
.infovisti-redesign .editorial-body .toggle_icon .vert_icon,
.infovisti-redesign .editorial-body .toggle_icon .hor_icon{display:none!important}
.infovisti-redesign .editorial-body .toggle_icon::after{
  content:"";width:6px;height:6px;margin-top:-2px;
  border-right:2px solid var(--ink-40);border-bottom:2px solid var(--ink-40);
  transform:rotate(45deg);transition:transform var(--t) var(--ease)}
.infovisti-redesign .editorial-body .toggler.activeTitle .toggle_icon::after{
  border-color:#fff;margin-top:2px;transform:rotate(-135deg)}
/* contenuto */
.infovisti-redesign .editorial-body .toggle_wrap{
  border-top:1px solid var(--ink-10)!important;background:#fff!important}
.infovisti-redesign .editorial-body .toggle_content{
  padding:14px 18px 16px!important;margin:0!important;
  font-size:13.5px!important;color:var(--ink-60)!important;line-height:1.75!important}
.infovisti-redesign .editorial-body .toggle_content>*:last-child{margin-bottom:0}
.infovisti-redesign .editorial-body .toggle_content h5{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 4px}
.infovisti-redesign .editorial-body .toggle_content a{color:var(--blue-700)!important;font-weight:600;text-decoration:none}
.infovisti-redesign .editorial-body .toggle_content ul{padding-left:16px;margin-top:6px}
.infovisti-redesign .editorial-body .toggle_content ul li{margin-bottom:5px}

/* --- PAESI CORRELATI --- */
.infovisti-redesign .countries-section{margin-bottom:0}
.infovisti-redesign .countries-section>h2{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--blue-900);margin-bottom:16px}
.infovisti-redesign .countries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.infovisti-redesign .country-pill{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1.5px solid var(--ink-10);border-radius:var(--r-md);text-decoration:none;transition:all var(--t) var(--ease);background:#fff;font-size:13px;font-weight:600;color:var(--ink-60)}
.infovisti-redesign .country-pill:hover{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700);transform:translateY(-1px);box-shadow:var(--shadow-card)}
.infovisti-redesign .country-pill span{font-size:20px}

/* ======================== SIDEBAR ======================== */
.infovisti-redesign .sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:90px}
.infovisti-redesign .sidebar-cta{background:linear-gradient(145deg,var(--blue-700),var(--blue-900));border-radius:var(--r-xl);padding:22px}
.infovisti-redesign .sidebar-cta h3{font-family:var(--font-display);font-size:19px;font-weight:400;color:#fff;line-height:1.2;margin-bottom:7px}
.infovisti-redesign .sidebar-cta h3 em{font-style:italic;color:var(--rose-400)}
.infovisti-redesign .sidebar-cta p{font-size:12.5px;color:rgba(255,255,255,.65);margin-bottom:16px;line-height:1.6}
.infovisti-redesign .sidebar-cta .cta-primary{width:100%;justify-content:center;padding:11px;font-size:13.5px;margin-bottom:8px}
.infovisti-redesign .s-tel{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.8);font-size:13.5px;font-weight:600;text-decoration:none;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-md);justify-content:center;transition:all var(--t) var(--ease)}
.infovisti-redesign .s-tel:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}
.infovisti-redesign .s-note{margin-top:12px;font-size:11px;color:rgba(255,255,255,.4);text-align:center;line-height:1.5}
.infovisti-redesign .sidebar-info{background:var(--ink-02);border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px}
.infovisti-redesign .sidebar-info h3,.infovisti-redesign .sidebar-embassy h3,.infovisti-redesign .sidebar-services h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:var(--ink-40);margin-bottom:14px}
.infovisti-redesign .info-row{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--ink-10)}
.infovisti-redesign .info-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.infovisti-redesign .info-icon{font-size:18px;flex-shrink:0;margin-top:1px;width:24px;text-align:center}
.infovisti-redesign .info-text strong{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:1px}
.infovisti-redesign .info-text span{font-size:12px;color:var(--ink-60);line-height:1.5}
.infovisti-redesign .sidebar-embassy{background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px}
.infovisti-redesign .embassy-flag{font-size:32px;margin-bottom:10px;display:block}
.infovisti-redesign .embassy-name{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:10px}
.infovisti-redesign .embassy-detail{font-size:12.5px;color:var(--ink-60);margin-bottom:5px;display:flex;align-items:flex-start;gap:6px;line-height:1.5}
.infovisti-redesign .embassy-link{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--blue-700);text-decoration:none}
.infovisti-redesign .sidebar-services{background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px}
.infovisti-redesign .ss-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--ink-05);text-decoration:none;color:inherit;transition:color var(--t) var(--ease)}
.infovisti-redesign .ss-item:last-child{border-bottom:none}
.infovisti-redesign .ss-item:hover{color:var(--blue-700)}
.infovisti-redesign .ss-item:hover .ss-arr{transform:translateX(3px)}
.infovisti-redesign .ss-ico{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.infovisti-redesign .ss-label{flex:1;font-size:13px;font-weight:600;line-height:1.3}
.infovisti-redesign .ss-arr{font-size:13px;color:var(--ink-20);transition:all var(--t) var(--ease)}
.infovisti-redesign .ss-item:hover .ss-ico{background:var(--blue-100)!important}
.infovisti-redesign .sidebar-video{background:var(--blue-900);border-radius:var(--r-xl);overflow:hidden}
.infovisti-redesign .sv-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#042C53,#083A6B);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all var(--t) var(--ease)}
.infovisti-redesign .sv-thumb:hover .sv-play{transform:scale(1.1)}
.infovisti-redesign .sv-play{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform var(--t) var(--ease)}
.infovisti-redesign .sv-label{padding:14px 16px}
.infovisti-redesign .sv-label p{font-size:13px;color:rgba(255,255,255,.8);font-weight:500}
.infovisti-redesign .sv-label a{font-size:12px;color:rgba(255,255,255,.5);text-decoration:none}

/* ======================== CTA BANNER ======================== */
.infovisti-redesign .cta-banner{background:linear-gradient(135deg,var(--blue-900),var(--blue-700));padding:64px 40px;text-align:center;position:relative;overflow:hidden}
.infovisti-redesign .cta-banner::before{content:'';position:absolute;top:-60px;right:-60px;width:280px;height:280px;border-radius:50%;background:rgba(207,73,136,.12)}
.infovisti-redesign .cta-banner::after{content:'';position:absolute;bottom:-80px;left:-40px;width:240px;height:240px;border-radius:50%;background:rgba(55,138,221,.1)}
.infovisti-redesign .cta-banner-inner{position:relative;z-index:1}
.infovisti-redesign .cta-banner h2{font-family:var(--font-display);font-size:clamp(26px,4vw,40px);font-weight:400;color:#fff;margin-bottom:10px;line-height:1.1}
.infovisti-redesign .cta-banner h2 em{font-style:italic;color:var(--rose-400)}
.infovisti-redesign .cta-banner p{font-size:15px;color:rgba(255,255,255,.7);margin-bottom:28px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.7}
.infovisti-redesign .cta-banner-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.infovisti-redesign .cta-banner .cta-primary{padding:13px 28px;font-size:15px}
.infovisti-redesign .cta-tel-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:1.5px solid rgba(255,255,255,.3);border-radius:var(--r-md);color:#fff;font-size:15px;font-weight:600;font-family:var(--font-body);text-decoration:none;cursor:pointer;background:transparent;transition:all var(--t) var(--ease)}
.infovisti-redesign .cta-tel-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}

/* ======================== FOOTER ======================== */
.infovisti-redesign .footer{background:var(--blue-900);color:rgba(255,255,255,.75);padding:56px 40px 0}
.infovisti-redesign .footer-grid{display:grid;grid-template-columns:2fr 1.2fr 1fr 1.4fr;gap:44px;max-width:1180px;margin:0 auto 44px}
.infovisti-redesign .footer h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;color:rgba(255,255,255,.4);margin-bottom:16px}
.infovisti-redesign .footer ul{list-style:none}
.infovisti-redesign .footer ul li{margin-bottom:8px}
.infovisti-redesign .footer a{color:rgba(255,255,255,.6);text-decoration:none;font-size:13.5px;transition:color var(--t) var(--ease);display:flex;align-items:center;gap:5px}
.infovisti-redesign .footer a:hover{color:#fff}
.infovisti-redesign .footer-logo img{height:40px;width:auto;display:block;margin-bottom:14px;background:#fff;padding:7px 11px;border-radius:var(--r-md)}
.infovisti-redesign .footer-tagline{font-size:13px;color:rgba(255,255,255,.45);line-height:1.75;margin-bottom:18px}
.infovisti-redesign .footer-contact p{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:5px;display:flex;align-items:flex-start;gap:8px}
.infovisti-redesign .footer-contact strong{color:rgba(255,255,255,.8)}
.infovisti-redesign .footer-certs{display:flex;gap:7px;margin-top:18px;flex-wrap:wrap}
.infovisti-redesign .cert-tag{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);padding:4px 11px;border-radius:var(--r-sm);font-size:10.5px;font-weight:700;color:rgba(255,255,255,.8)}
.infovisti-redesign .footer-bottom{max-width:1180px;margin:0 auto;border-top:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:10px}
.infovisti-redesign .footer-bottom a{color:rgba(255,255,255,.3);text-decoration:none;font-size:12px}
.infovisti-redesign .footer-bottom a:hover{color:rgba(255,255,255,.7)}
.infovisti-redesign .footer-bottom-links{display:flex;gap:18px}

/* --- editorial body (optional Avia/free-form content wrapper) --- */
.infovisti-redesign .editorial-body{margin-bottom:40px;font-size:14.5px;color:var(--ink-60);line-height:1.75}
.infovisti-redesign .editorial-body h2{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--blue-900);margin:24px 0 10px}
.infovisti-redesign .editorial-body h3{font-size:16px;font-weight:700;color:var(--blue-900);margin:18px 0 6px}
.infovisti-redesign .editorial-body h4,.infovisti-redesign .editorial-body h5,.infovisti-redesign .editorial-body h6{font-size:14px;font-weight:700;color:var(--blue-900);margin:14px 0 6px}
.infovisti-redesign .editorial-body p{margin-bottom:12px}
.infovisti-redesign .editorial-body a{color:var(--blue-700);font-weight:600}
.infovisti-redesign .editorial-body a:hover{color:var(--rose-600)}
.infovisti-redesign .editorial-body strong{color:var(--ink)}

/* ===== Legacy Avia content, modernized ===== */
.infovisti-redesign .editorial-body .entry-content-wrapper{overflow:hidden}
/* single column: stack every legacy column full-width as separate boxes.
   Vale anche per le pagine dettaglio immigrazione (.infovisti-immi): il corpo
   del post e' impaginato su un'unica colonna. */
.infovisti-redesign .editorial-body .flex_column{float:none!important;clear:both;width:100%!important;margin:0 0 20px!important}
.infovisti-redesign .editorial-body .hr-invisible{margin:4px 0}
/* legacy columns that carried an inline border -> clean light card */
.infovisti-redesign .editorial-body .flex_column[style*="border-width"]{border-color:var(--ink-10)!important;border-radius:var(--r-xl)!important;padding:22px 24px!important;background:#fff;box-shadow:var(--shadow-card)}

/* Icon boxes -> clean cards with an icon chip */
.infovisti-redesign .editorial-body .iconbox{background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:22px 22px 8px;box-shadow:var(--shadow-card);height:100%}
.infovisti-redesign .editorial-body .iconbox .entry-content-header{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.infovisti-redesign .editorial-body .iconbox_icon{width:40px;height:40px;min-width:40px;margin:0;border-radius:var(--r-md);background:var(--blue-50);color:var(--blue-700);display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1}
.infovisti-redesign .editorial-body .iconbox_content_title{font-size:16px;font-weight:700;color:var(--blue-900);margin:0;line-height:1.25}
.infovisti-redesign .editorial-body .iconbox_content_container{font-size:14px;line-height:1.7;color:var(--ink-60)}

/* Lists -> custom rose bullets */
.infovisti-redesign .editorial-body ul{margin:8px 0 16px;padding:0;list-style:none}
.infovisti-redesign .editorial-body ul li{position:relative;padding-left:20px;margin-bottom:7px}
.infovisti-redesign .editorial-body ul li::before{content:"";position:absolute;left:3px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--rose-600)}
.infovisti-redesign .editorial-body ol{margin:8px 0 16px;padding-left:20px}
.infovisti-redesign .editorial-body ol li{margin-bottom:7px}

/* Promo callout: redundant with the sidebar CTA + hero form -> hidden to save space */
.infovisti-redesign .editorial-body .av_promobox{display:none}

/* Buttons -> match brand CTA */
.infovisti-redesign .editorial-body .avia-button{display:inline-flex;align-items:center;gap:8px;background:var(--rose-600)!important;color:#fff!important;border:none!important;padding:11px 22px!important;border-radius:var(--r-md)!important;font-size:14px;font-weight:600;font-family:var(--font-body);text-decoration:none;box-shadow:none!important;transition:background-color var(--t) var(--ease),transform var(--t) var(--ease)}
.infovisti-redesign .editorial-body .avia-button:hover{background:var(--rose-700)!important;transform:translateY(-1px)}
.infovisti-redesign .editorial-body .avia-button .avia_button_icon{display:none}

/* Images -> rounded & responsive */
.infovisti-redesign .editorial-body .avia-image-container{margin:0 0 20px}
.infovisti-redesign .editorial-body .avia-image-container img,.infovisti-redesign .editorial-body .avia_textblock img{max-width:100%;height:auto;border-radius:var(--r-lg)}
.infovisti-redesign .editorial-body .avia_textblock img.size-thumbnail{border-radius:var(--r-md)}

/* Text blocks */
.infovisti-redesign .editorial-body .av_textblock_section{font-size:14.5px;line-height:1.75}
/* leading thumbnail icon inside a text block: small & floated, text flows around it */
.infovisti-redesign .editorial-body .avia_textblock{overflow:hidden}
.infovisti-redesign .editorial-body .avia_textblock h6:has(img.size-thumbnail){float:left;margin:2px 20px 8px 0;line-height:0}
.infovisti-redesign .editorial-body .avia_textblock h6 img.size-thumbnail{width:72px;height:auto;display:block}

/* Hide the redundant duplicate contact form embedded in the legacy body
   (the page already has the sidebar CTA + the "Contattaci" promo box), plus
   the decorative flag column that legacy migration paired next to it */
.infovisti-redesign .editorial-body .flex_column:has(.wpcf7){display:none}
.infovisti-redesign .editorial-body .flex_column:has(.wpcf7) + .flex_column{display:none}
/* Decorative/flag images (everything except the top banner): contained & centered */
.infovisti-redesign .editorial-body .avia-image-container:not(.avia-builder-el-first){text-align:center;margin:0 auto 20px}
.infovisti-redesign .editorial-body .avia-image-container:not(.avia-builder-el-first) img{max-width:220px}

/* --- Contact Form 7 styled to match the contact card (compact, 2-col) --- */
/* Layout: 2-column grid for the short "half" fields + side-by-side file uploads.
   Riduce fortemente l'altezza del form allineandola al template dettaglio-servizi. */
.infovisti-redesign .contact-card .wpcf7 form{margin:0}
.infovisti-redesign .contact-card .wpcf7 .uacf7-form-wrapper-container{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:flex-start}
/* Modern alert box (validation / success / error) */
.infovisti-redesign .contact-card .wpcf7 .wpcf7-response-output{flex:0 0 100%;margin:0;padding:10px 13px 10px 38px;border:none;border-radius:var(--r-md);font-size:12px;line-height:1.45;font-weight:500;position:relative}
.infovisti-redesign .contact-card .wpcf7 .wpcf7-response-output::before{content:"";position:absolute;left:12px;top:11px;width:16px;height:16px;flex:0 0 auto}
/* validation errors → soft amber */
.infovisti-redesign .contact-card .wpcf7 form.invalid .wpcf7-response-output{background:#fff7ea;color:#8a5300;box-shadow:inset 0 0 0 1px #f3c778}
.infovisti-redesign .contact-card .wpcf7 form.invalid .wpcf7-response-output::before{background-color:#e0902b;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") center/contain no-repeat}
/* success → soft green */
.infovisti-redesign .contact-card .wpcf7 form.sent .wpcf7-response-output{background:#eafaf3;color:#0d6b47;box-shadow:inset 0 0 0 1px #8fd9bd}
.infovisti-redesign .contact-card .wpcf7 form.sent .wpcf7-response-output::before{background-color:#1d9e75;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
/* server / spam / unaccepted errors → soft red */
.infovisti-redesign .contact-card .wpcf7 form.failed .wpcf7-response-output,
.infovisti-redesign .contact-card .wpcf7 form.spam .wpcf7-response-output,
.infovisti-redesign .contact-card .wpcf7 form.unaccepted .wpcf7-response-output,
.infovisti-redesign .contact-card .wpcf7 form.aborted .wpcf7-response-output{background:#fdecec;color:#a12626;box-shadow:inset 0 0 0 1px #f0a3a3}
.infovisti-redesign .contact-card .wpcf7 form.failed .wpcf7-response-output::before,
.infovisti-redesign .contact-card .wpcf7 form.spam .wpcf7-response-output::before,
.infovisti-redesign .contact-card .wpcf7 form.unaccepted .wpcf7-response-output::before,
.infovisti-redesign .contact-card .wpcf7 form.aborted .wpcf7-response-output::before{background-color:#cc3d3d;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cline x1='12' y1='8' x2='12' y2='12.5'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cline x1='12' y1='8' x2='12' y2='12.5'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") center/contain no-repeat}
/* field-level required message → small & subtle */
.infovisti-redesign .contact-card .wpcf7 .wpcf7-not-valid-tip{font-size:10px;font-weight:600;color:#d33;margin-top:4px;line-height:1.25}
.infovisti-redesign .contact-card .wpcf7 .wpcf7-not-valid{border-color:#e79a9a}
.infovisti-redesign .contact-card .wpcf7 p{flex:0 0 100%;margin:0}
.infovisti-redesign .contact-card .wpcf7 p.gfield.half{flex:1 1 calc(50% - 6px);min-width:132px}
/* upload fields: compact, two side by side on one row */
.infovisti-redesign .contact-card .wpcf7 p.form_fullwidth:has(input[type=file]){flex:1 1 calc(50% - 6px);min-width:0}
.infovisti-redesign .contact-card .wpcf7 p.form_fullwidth:has(input[type=file]) label{font-size:9px;letter-spacing:.02em;white-space:nowrap}
/* collapse malformed/empty/hidden-only wrappers that add dead vertical space */
.infovisti-redesign .contact-card .wpcf7 p.gfield.half:not(:has(label)):not(:has(input)):not(:has(select)){display:none}
.infovisti-redesign .contact-card .wpcf7 .uacf7-form-wrapper-container > p:empty,
.infovisti-redesign .contact-card .wpcf7 .uacf7-form-wrapper-container > div:empty,
.infovisti-redesign .contact-card .wpcf7 .uacf7-form-wrapper-container > div:has(> input[type=hidden]),
.infovisti-redesign .contact-card .wpcf7 .uacf7-form-wrapper-container > span.pagina-di-provenienza{display:none}

/* Compact labels */
.infovisti-redesign .contact-card .wpcf7 label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-40);margin:0 0 3px;line-height:1.25}
.infovisti-redesign .contact-card .wpcf7 label .required{color:var(--rose-600);text-decoration:none}

/* Compact inputs */
.infovisti-redesign .contact-card .wpcf7 input[type=text],
.infovisti-redesign .contact-card .wpcf7 input[type=email],
.infovisti-redesign .contact-card .wpcf7 input[type=tel],
.infovisti-redesign .contact-card .wpcf7 textarea,
.infovisti-redesign .contact-card .wpcf7 select{width:100%;padding:8px 11px;border:1.5px solid var(--ink-10);border-radius:var(--r-md);font-size:13px;font-family:var(--font-body);color:var(--ink);margin-top:0;line-height:1.3}
.infovisti-redesign .contact-card .wpcf7 textarea{min-height:54px;resize:vertical}
/* hide the native "No file chosen" text (font-size:0 collapses it; the button keeps its own explicit size) */
.infovisti-redesign .contact-card .wpcf7 input[type=file]{width:auto;max-width:100%;font-size:0;color:transparent}
/* Styled upload button with a modern "upload" icon (compact so two fit per row) */
.infovisti-redesign .contact-card .wpcf7 input[type=file]::file-selector-button{margin-right:6px;padding:6px 9px 6px 24px;border:1.5px solid var(--blue-200);border-radius:var(--r-md);background:var(--blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c5aa3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5'/%3E%3Cpath d='M7.5 7.5 12 3l4.5 4.5'/%3E%3Cpath d='M12 3v13.5'/%3E%3C/svg%3E") no-repeat 8px center;background-size:11px 11px;color:var(--blue-700);font-size:10px;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.infovisti-redesign .contact-card .wpcf7 input[type=file]::file-selector-button:hover{background-color:var(--blue-100);border-color:var(--blue-400)}
.infovisti-redesign .contact-card .wpcf7 input[type=file]::-webkit-file-upload-button{margin-right:6px;padding:6px 9px 6px 24px;border:1.5px solid var(--blue-200);border-radius:var(--r-md);background:var(--blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c5aa3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5'/%3E%3Cpath d='M7.5 7.5 12 3l4.5 4.5'/%3E%3Cpath d='M12 3v13.5'/%3E%3C/svg%3E") no-repeat 8px center;background-size:11px 11px;color:var(--blue-700);font-size:10px;font-weight:700;font-family:var(--font-body);cursor:pointer}
/* selected file name — injected & toggled by JS, shown only after a file is chosen */
.infovisti-redesign .contact-card .wpcf7 .cc-file-name{display:none;margin-top:6px;font-size:10.5px;font-weight:600;color:var(--ink-60);line-height:1.3;align-items:center;gap:5px;max-width:100%}
.infovisti-redesign .contact-card .wpcf7 .cc-file-name.has-file{display:flex}
.infovisti-redesign .contact-card .wpcf7 .cc-file-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.infovisti-redesign .contact-card .wpcf7 .cc-file-name::before{content:"";width:12px;height:12px;flex:0 0 auto;background-color:#1d9e75;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
/* country dropdown: keep room for the flag so it doesn't overlap the text */
.infovisti-redesign .contact-card .wpcf7 .country-select input[type=text]{padding-left:46px}

/* Privacy checkbox inline & compact */
.infovisti-redesign .contact-card .wpcf7 p.form_fullwidth:has(input[type=checkbox]){margin-top:14px}
.infovisti-redesign .contact-card .wpcf7 .wpcf7-list-item{margin:0;display:flex;align-items:flex-start;gap:7px}
.infovisti-redesign .contact-card .wpcf7 .wpcf7-list-item-label{text-transform:none;font-size:12px;font-weight:500;letter-spacing:0;color:var(--ink-60);line-height:1.35}
.infovisti-redesign .contact-card .wpcf7 input[type=checkbox]{margin-top:2px;flex:0 0 auto}

/* Submit */
.infovisti-redesign .contact-card .wpcf7 input[type=submit]{width:100%;padding:11px;background:var(--rose-600);color:#fff;border:none;border-radius:var(--r-md);font-size:14px;font-weight:700;font-family:var(--font-body);cursor:pointer;margin-top:2px}
.infovisti-redesign .contact-card .wpcf7 input[type=submit]:hover{background:var(--rose-700)}
/* Lo spinner AJAX (24px, inline-block) andava a capo sotto il bottone largo
   100%, riservando ~31px di spazio vuoto sempre. Lo togliamo dal flusso: appare
   sovrapposto a destra del bottone durante l'invio senza gonfiare il form. */
.infovisti-redesign .contact-card .wpcf7 p:has(input[type=submit]){position:relative}
.infovisti-redesign .contact-card .wpcf7 .wpcf7-spinner{position:absolute;right:14px;top:50%;transform:translateY(-50%);margin:0}

/* ==========================================================================
   HOMEPAGE (archetipo home) — dev.salonbooking.it/infovisti/home-page.html
   ========================================================================== */

/* ---- HERO ---- */
.infovisti-redesign .hero{background:var(--blue-900);background-image:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(55,138,221,.18) 0%,transparent 60%),radial-gradient(ellipse 40% 60% at 10% 80%,rgba(207,73,136,.12) 0%,transparent 50%),linear-gradient(135deg,#042C53 0%,#083A6B 55%,#0C4A82 100%);padding:72px 40px 64px;position:relative;overflow:hidden}
.infovisti-redesign .hero-geo{position:absolute;top:0;right:0;width:45%;height:100%;opacity:.06;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.6) 0,rgba(255,255,255,.6) 1px,transparent 0,transparent 50%);background-size:28px 28px;-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.8) 0%,transparent 100%);mask-image:linear-gradient(to left,rgba(0,0,0,.8) 0%,transparent 100%)}
.infovisti-redesign .hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:56px;align-items:center;position:relative;z-index:1}
.infovisti-redesign .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:6px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:600;color:rgba(255,255,255,.9);letter-spacing:.4px;margin-bottom:24px}
.infovisti-redesign .hero-eyebrow .iso{background:rgba(255,255,255,.15);padding:1px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.6px}
.infovisti-redesign .hero h1{font-family:var(--font-display);font-size:clamp(34px,4.5vw,56px);font-weight:400;line-height:1.04;color:#fff;margin-bottom:18px}
.infovisti-redesign .hero h1 em{font-style:italic;color:var(--rose-400)}
.infovisti-redesign .hero-sub{font-size:16.5px;color:rgba(255,255,255,.72);line-height:1.68;margin-bottom:36px;max-width:520px}
.infovisti-redesign .hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:40px}
.infovisti-redesign .hero-actions .cta-primary{padding:12px 24px;font-size:15px}
.infovisti-redesign .hero-actions .cta-secondary{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.3);padding:11px 18px;font-size:15px}
.infovisti-redesign .hero-actions .cta-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}
.infovisti-redesign .hero-trust{display:flex;gap:16px;flex-wrap:wrap}
.infovisti-redesign .trust-pill{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:8px 14px;border-radius:var(--r-pill);font-size:13px;color:rgba(255,255,255,.88);font-weight:500}
.infovisti-redesign .trust-pill .stars{color:var(--amber-500);letter-spacing:.5px}
.infovisti-redesign .trust-pill strong{color:#fff}

/* ---- HERO SEARCH CARD ---- */
.infovisti-redesign .hero-search-card{background:#fff;border-radius:var(--r-2xl);padding:28px;box-shadow:var(--shadow-xl);position:relative}
.infovisti-redesign .hero-search-card::before{content:'';position:absolute;top:-1px;left:28px;right:28px;height:3px;background:linear-gradient(90deg,var(--rose-600),var(--blue-400));border-radius:0 0 3px 3px}
.infovisti-redesign .search-card-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px}
.infovisti-redesign .search-card-sub{font-size:13px;color:var(--ink-40);margin-bottom:20px}
.infovisti-redesign .search-field{margin-bottom:12px}
.infovisti-redesign .search-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-40);margin-bottom:6px}
.infovisti-redesign .search-select{width:100%;padding:10px 36px 10px 13px;border:1.5px solid var(--ink-10);border-radius:var(--r-md);font-size:14px;font-family:var(--font-body);color:var(--ink-60);background:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color var(--t) var(--ease)}
.infovisti-redesign .search-select:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,.12)}
.infovisti-redesign .search-submit{width:100%;padding:12px;background:var(--rose-600);color:#fff;border:none;border-radius:var(--r-md);font-size:15px;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:all var(--t) var(--ease);margin-top:4px}
.infovisti-redesign .search-submit:hover{background:var(--rose-700);box-shadow:0 4px 12px rgba(207,73,136,.3)}
.infovisti-redesign .search-direct-links{margin-top:14px;padding-top:14px;border-top:1px solid var(--ink-10);font-size:12px;color:var(--ink-40);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.infovisti-redesign .search-direct-links span{flex-shrink:0}
.infovisti-redesign .search-direct-links a{color:var(--blue-700);text-decoration:none;font-weight:600;padding:2px 8px;background:var(--blue-50);border-radius:var(--r-sm);transition:background var(--t) var(--ease)}
.infovisti-redesign .search-direct-links a:hover{background:var(--blue-100)}

/* ---- SECTION WRAPPER ---- */
.infovisti-redesign .section{padding:80px 40px;max-width:1180px;margin:0 auto}
.infovisti-redesign .section-outer{background:var(--white)}
.infovisti-redesign .section-outer.grey{background:var(--ink-02)}
.infovisti-redesign .section-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--rose-600);margin-bottom:8px}
.infovisti-redesign .section h2{font-family:var(--font-display);font-size:clamp(26px,3.5vw,40px);font-weight:400;color:var(--blue-900);line-height:1.1;margin-bottom:10px}
.infovisti-redesign .section-intro{font-size:16px;color:var(--ink-60);max-width:600px;line-height:1.7;margin-bottom:48px}

/* ---- SERVICE TABS ---- */
.infovisti-redesign .tab-row{display:flex;gap:6px;margin-bottom:32px;border-bottom:1px solid var(--ink-10)}
.infovisti-redesign .tab-btn{padding:10px 18px;border:none;background:transparent;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--ink-40);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;transition:all var(--t) var(--ease);border-radius:var(--r-sm) var(--r-sm) 0 0}
.infovisti-redesign .tab-btn:hover{color:var(--blue-700)}
.infovisti-redesign .tab-btn.active{color:var(--blue-700);border-bottom-color:var(--blue-700)}

/* ---- SERVICE CARDS ---- */
.infovisti-redesign .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.infovisti-redesign .service-card{background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:26px;cursor:pointer;transition:all var(--t) var(--ease);position:relative;overflow:hidden;text-decoration:none;display:block;color:inherit}
.infovisti-redesign .service-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue-400);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}
.infovisti-redesign .service-card:hover{border-color:var(--blue-200);box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.infovisti-redesign .service-card:hover::after{transform:scaleX(1)}
.infovisti-redesign .service-card.featured{background:linear-gradient(145deg,var(--blue-700) 0%,var(--blue-900) 100%);border-color:transparent;color:#fff}
.infovisti-redesign .service-card.featured::after{display:none}
.infovisti-redesign .service-card.featured:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.infovisti-redesign .service-badge{position:absolute;top:18px;right:18px;background:var(--rose-600);color:#fff;font-size:10px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);letter-spacing:.4px}
.infovisti-redesign .service-icon{width:50px;height:50px;background:var(--blue-50);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px;transition:background var(--t) var(--ease)}
.infovisti-redesign .service-card:hover .service-icon{background:var(--blue-100)}
.infovisti-redesign .service-card.featured .service-icon{background:rgba(255,255,255,.15)}
.infovisti-redesign .service-card h3{font-size:17px;font-weight:700;color:var(--blue-900);margin-bottom:8px;line-height:1.25}
.infovisti-redesign .service-card.featured h3{color:#fff}
.infovisti-redesign .service-card p{font-size:13.5px;color:var(--ink-60);line-height:1.65;margin-bottom:18px}
.infovisti-redesign .service-card.featured p{color:rgba(255,255,255,.72)}
.infovisti-redesign .service-link{font-size:13px;font-weight:700;color:var(--blue-700);display:inline-flex;align-items:center;gap:4px;text-decoration:none;transition:gap var(--t) var(--ease)}
.infovisti-redesign .service-card:hover .service-link{gap:8px}
.infovisti-redesign .service-card.featured .service-link{color:rgba(255,255,255,.9)}
.infovisti-redesign .lang-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}
.infovisti-redesign .lang-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);background:rgba(255,255,255,.15);color:rgba(255,255,255,.9)}

/* ---- PROCESS ---- */
.infovisti-redesign .process-section-outer{background:var(--blue-50)}
.infovisti-redesign .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.infovisti-redesign .process-grid::before{content:'';position:absolute;top:36px;left:calc(16.66% + 24px);right:calc(16.66% + 24px);height:1.5px;background:linear-gradient(90deg,var(--blue-400),var(--blue-200))}
.infovisti-redesign .process-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 28px}
.infovisti-redesign .process-num{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:26px;font-weight:400;margin-bottom:20px;position:relative;z-index:1}
.infovisti-redesign .process-step:nth-child(1) .process-num{background:var(--blue-700);color:#fff}
.infovisti-redesign .process-step:nth-child(2) .process-num{background:var(--blue-500);color:#fff}
.infovisti-redesign .process-step:nth-child(3) .process-num{background:var(--teal-400);color:#fff}
.infovisti-redesign .process-step h3{font-size:17px;font-weight:700;color:var(--blue-900);margin-bottom:8px}
.infovisti-redesign .process-step p{font-size:14px;color:var(--ink-60);line-height:1.7}

/* ---- SOCIAL PROOF ---- */
.infovisti-redesign .reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;flex-wrap:wrap;gap:20px}
.infovisti-redesign .google-rating{display:flex;align-items:center;gap:20px}
.infovisti-redesign .g-logo{font-size:13px;font-weight:700;color:var(--ink-60);display:flex;align-items:center;gap:6px}
.infovisti-redesign .g-logo .g{color:#4285f4;font-size:22px;font-weight:900}
.infovisti-redesign .rating-score{font-family:var(--font-display);font-size:56px;line-height:1;color:var(--ink)}
.infovisti-redesign .rating-meta{display:flex;flex-direction:column;gap:3px;padding-top:6px}
.infovisti-redesign .stars-row{color:var(--amber-500);font-size:22px;letter-spacing:2px}
.infovisti-redesign .rating-count{font-size:13px;color:var(--ink-40);font-weight:500}
.infovisti-redesign .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.infovisti-redesign .review-card{border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:22px;transition:box-shadow var(--t) var(--ease);background:#fff}
.infovisti-redesign .review-card:hover{box-shadow:var(--shadow-hover)}
.infovisti-redesign .reviewer{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.infovisti-redesign .avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.infovisti-redesign .reviewer-name{font-size:14px;font-weight:700;color:var(--ink);display:block}
.infovisti-redesign .reviewer-date{font-size:12px;color:var(--ink-40)}
.infovisti-redesign .review-stars{color:var(--amber-500);font-size:14px;margin-bottom:10px;letter-spacing:1px}
.infovisti-redesign .review-text{font-size:13.5px;color:var(--ink-60);line-height:1.7;font-style:italic}

/* ---- CLIENTS ---- */
.infovisti-redesign .clients-section-outer{background:var(--ink-02)}
.infovisti-redesign .clients-label{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--ink-40);margin-bottom:32px}
.infovisti-redesign .clients-strip{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;max-width:900px;margin:0 auto}
.infovisti-redesign .client-pill{background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-pill);padding:8px 18px;font-size:13px;font-weight:600;color:var(--ink-60);transition:all var(--t) var(--ease)}
.infovisti-redesign .client-pill:hover{border-color:var(--blue-200);color:var(--blue-700);box-shadow:var(--shadow-card)}

/* ---- BLOG ---- */
.infovisti-redesign .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.infovisti-redesign .blog-card{border-radius:var(--r-xl);overflow:hidden;border:1.5px solid var(--ink-10);background:#fff;transition:all var(--t) var(--ease);text-decoration:none;color:inherit;display:block}
.infovisti-redesign .blog-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.infovisti-redesign .blog-thumb{aspect-ratio:4/3;overflow:hidden}
.infovisti-redesign .blog-thumb-img{width:100%;height:100%;object-fit:cover;transition:transform var(--t) var(--ease)}
.infovisti-redesign .blog-card:hover .blog-thumb-img{transform:scale(1.04)}
.infovisti-redesign .blog-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px}
.infovisti-redesign .blog-body{padding:20px}
.infovisti-redesign .blog-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--blue-500);margin-bottom:8px;display:block}
.infovisti-redesign .blog-card h3{font-size:15px;font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:8px}
.infovisti-redesign .blog-card:hover h3{color:var(--blue-700)}
.infovisti-redesign .blog-date{font-size:12px;color:var(--ink-40)}

/* ---- HOME UTILITIES ---- */
.infovisti-redesign .text-center{text-align:center}
.infovisti-redesign .mb-0{margin-bottom:0!important}

/* ==========================================================================
   HUB / RACCORDO SERVIZI (archetipo section-hub) — pagina-raccordo-servizi.html
   ========================================================================== */

/* ---- HERO extras (eyebrow + trust row + finder card) ---- */
.infovisti-redesign .page-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:5px 13px;border-radius:var(--r-pill);font-size:11.5px;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:.4px;margin-bottom:20px}
.infovisti-redesign .page-hero-trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}

.infovisti-redesign .finder-card{background:#fff;border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:24px 24px 28px;box-shadow:0 -8px 40px rgba(4,44,83,.18);position:relative}
.infovisti-redesign .finder-card::before{content:'';position:absolute;top:-1px;left:32px;right:32px;height:3px;background:linear-gradient(90deg,var(--rose-600),var(--blue-400));border-radius:0 0 3px 3px}
.infovisti-redesign .finder-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:3px}
.infovisti-redesign .finder-sub{font-size:12.5px;color:var(--ink-40);margin-bottom:18px}
.infovisti-redesign .finder-field{margin-bottom:12px}
.infovisti-redesign .finder-field label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-40);margin-bottom:5px}
.infovisti-redesign .finder-select{width:100%;padding:9px 34px 9px 12px;border:1.5px solid var(--ink-10);border-radius:var(--r-md);font-size:13.5px;font-family:var(--font-body);color:var(--ink-60);background:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;transition:border-color var(--t) var(--ease)}
.infovisti-redesign .finder-select:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,.12)}
.infovisti-redesign .finder-submit{width:100%;padding:11px;background:var(--rose-600);color:#fff;border:none;border-radius:var(--r-md);font-size:14px;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:all var(--t) var(--ease);margin-top:4px}
.infovisti-redesign .finder-submit:hover{background:var(--rose-700);box-shadow:0 4px 12px rgba(207,73,136,.3)}
.infovisti-redesign .finder-note{margin-top:12px;font-size:11.5px;color:var(--ink-40);text-align:center;line-height:1.5}
.infovisti-redesign .finder-note a{color:var(--blue-700);font-weight:600;text-decoration:none}

/* ---- WHAT IS ---- */
.infovisti-redesign .what-is{background:var(--blue-50);border:1.5px solid var(--blue-100);border-radius:var(--r-xl);padding:28px 32px;margin-bottom:40px}
.infovisti-redesign .what-is-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}
.infovisti-redesign .what-is-icon{width:48px;height:48px;background:var(--blue-700);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.infovisti-redesign .what-is h2{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--blue-900);line-height:1.15}
.infovisti-redesign .what-is p{font-size:14.5px;color:var(--ink-60);line-height:1.75;margin-bottom:10px}
.infovisti-redesign .what-is-quote{border-left:3px solid var(--blue-400);padding:12px 16px;background:rgba(55,138,221,.06);border-radius:0 var(--r-md) var(--r-md) 0;font-size:14px;color:var(--blue-800);font-weight:500;line-height:1.65;margin-top:14px}

/* ---- TARGET PILLS ---- */
.infovisti-redesign .target-section{margin-bottom:40px}
.infovisti-redesign .target-section>h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-40);margin-bottom:14px}
.infovisti-redesign .target-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.infovisti-redesign .target-card{border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px 20px;cursor:pointer;transition:all var(--t) var(--ease);text-decoration:none;display:block;color:inherit;position:relative;overflow:hidden;background:#fff}
.infovisti-redesign .target-card:hover{border-color:var(--blue-200);box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.infovisti-redesign .target-card.active-target{border-color:var(--blue-400);background:var(--blue-50)}
.infovisti-redesign .target-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px;background:var(--blue-200);transition:background var(--t) var(--ease)}
.infovisti-redesign .target-card:hover::before,.infovisti-redesign .target-card.active-target::before{background:var(--blue-700)}
.infovisti-redesign .target-card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-40);margin-bottom:4px}
.infovisti-redesign .target-card h4{font-size:15px;font-weight:700;color:var(--blue-900);margin-bottom:6px}
.infovisti-redesign .target-card p{font-size:12.5px;color:var(--ink-60);line-height:1.55}
.infovisti-redesign .target-card-examples{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.infovisti-redesign .target-example{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);background:var(--ink-05);color:var(--ink-60)}
.infovisti-redesign .target-card.active-target .target-example{background:var(--blue-100);color:var(--blue-700)}

/* ---- DOC TYPE SECTION (grid of items) ---- */
.infovisti-redesign .doc-section{margin-bottom:40px}
.infovisti-redesign .doc-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.infovisti-redesign .doc-section-header h2{font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--blue-900)}
.infovisti-redesign .doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.infovisti-redesign .doc-item{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1.5px solid var(--ink-10);border-radius:var(--r-lg);text-decoration:none;color:inherit;transition:all var(--t) var(--ease);background:#fff}
.infovisti-redesign .doc-item:hover{border-color:var(--blue-200);background:var(--blue-50);box-shadow:var(--shadow-card)}
.infovisti-redesign .doc-item:hover .doc-arrow{transform:translateX(3px);color:var(--blue-700)}
.infovisti-redesign .doc-item-icon{font-size:18px;flex-shrink:0;width:32px;text-align:center}
.infovisti-redesign .doc-item-text{flex:1}
.infovisti-redesign .doc-item-name{font-size:13.5px;font-weight:600;color:var(--ink);display:block;line-height:1.3}
.infovisti-redesign .doc-item-hint{font-size:11.5px;color:var(--ink-40);margin-top:1px;display:block}
.infovisti-redesign .doc-arrow{color:var(--ink-20);font-size:14px;flex-shrink:0;transition:all var(--t) var(--ease)}

/* ---- PROCESS STRIP (horizontal compact; scoped to override home process) ---- */
.infovisti-redesign .process-strip{background:var(--blue-50);border:1.5px solid var(--blue-100);border-radius:var(--r-xl);padding:28px 28px 24px;margin-bottom:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.infovisti-redesign .process-strip::after{content:'Come funziona';position:absolute;top:-11px;left:20px;background:var(--blue-50);padding:0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue-500)}
.infovisti-redesign .process-strip .process-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12px;position:relative}
.infovisti-redesign .process-strip .process-step+.process-step::before{content:'→';position:absolute;left:-8px;top:8px;color:var(--blue-200);font-size:18px}
.infovisti-redesign .process-strip .process-step .process-num{width:36px;height:36px;border-radius:50%;background:var(--blue-700);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;margin-bottom:8px;flex-shrink:0;font-family:var(--font-body)}
.infovisti-redesign .process-strip .process-step h4{font-size:12.5px;font-weight:700;color:var(--blue-900);margin-bottom:3px;line-height:1.2}
.infovisti-redesign .process-strip .process-step p{font-size:11.5px;color:var(--ink-60);line-height:1.5}

/* ---- COUNTRY FINDER ---- */
.infovisti-redesign .country-section{margin-bottom:40px}
.infovisti-redesign .country-section>h2{font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--blue-900);margin-bottom:8px}
.infovisti-redesign .country-intro{font-size:14px;color:var(--ink-60);margin-bottom:20px;line-height:1.65}
.infovisti-redesign .country-search-wrap{position:relative;margin-bottom:16px}
.infovisti-redesign .country-search-input{width:100%;padding:11px 16px 11px 42px;border:1.5px solid var(--ink-10);border-radius:var(--r-lg);font-size:14px;font-family:var(--font-body);color:var(--ink);transition:border-color var(--t) var(--ease)}
.infovisti-redesign .country-search-input:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,.12)}
.infovisti-redesign .country-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;color:var(--ink-40)}
.infovisti-redesign .region-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.infovisti-redesign .region-tab{padding:6px 14px;border:1.5px solid var(--ink-10);background:#fff;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;color:var(--ink-40);cursor:pointer;font-family:var(--font-body);transition:all var(--t) var(--ease)}
.infovisti-redesign .region-tab:hover{border-color:var(--blue-200);color:var(--blue-700)}
.infovisti-redesign .region-tab.active{background:var(--blue-700);border-color:var(--blue-700);color:#fff}
.infovisti-redesign .country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.infovisti-redesign .country-card{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1.5px solid var(--ink-10);border-radius:var(--r-md);text-decoration:none;color:inherit;transition:all var(--t) var(--ease);background:#fff}
.infovisti-redesign .country-card:hover{border-color:var(--blue-200);background:var(--blue-50);transform:translateY(-1px);box-shadow:var(--shadow-card)}
.infovisti-redesign .country-card.country-hidden{display:none}
.infovisti-redesign .country-flag{font-size:22px;flex-shrink:0;line-height:1}
.infovisti-redesign .country-name{font-size:13px;font-weight:600;color:var(--ink);line-height:1.25}
.infovisti-redesign .country-card-tag{font-size:10px;color:var(--rose-600);font-weight:700;background:var(--rose-50);padding:1px 6px;border-radius:var(--r-pill);display:inline-block;margin-top:2px}
.infovisti-redesign .country-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:1.5px dashed var(--ink-20);border-radius:var(--r-md);color:var(--blue-700);font-size:13px;font-weight:600;text-decoration:none;transition:all var(--t) var(--ease);cursor:pointer;background:#fff;font-family:var(--font-body);width:100%}
.infovisti-redesign .country-more:hover{border-color:var(--blue-400);background:var(--blue-50)}
.infovisti-redesign .country-empty{font-size:13px;color:var(--ink-40);text-align:center;padding:16px}

/* ---- EXPAT STRIP ---- */
.infovisti-redesign .expat-heading{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-40);margin-bottom:14px}
.infovisti-redesign .expat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:40px}
.infovisti-redesign .expat-card{border-radius:var(--r-xl);padding:20px;text-decoration:none;color:inherit;display:block;position:relative;overflow:hidden;transition:all var(--t) var(--ease)}
.infovisti-redesign .expat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.infovisti-redesign .expat-card .flag{font-size:32px;margin-bottom:10px;display:block}
.infovisti-redesign .expat-card h4{font-size:15px;font-weight:700;margin-bottom:4px;color:#fff}
.infovisti-redesign .expat-card p{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.75)}
.infovisti-redesign .expat-card .expat-link{font-size:12px;font-weight:700;margin-top:10px;display:inline-flex;align-items:center;gap:4px}

/* ---- SIDEBAR: quick facts + review ---- */
.infovisti-redesign .sidebar-facts{background:var(--ink-02);border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:20px}
.infovisti-redesign .sidebar-facts h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-40);margin-bottom:14px}
.infovisti-redesign .fact-row{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}
.infovisti-redesign .fact-row:last-child{margin-bottom:0}
.infovisti-redesign .fact-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.infovisti-redesign .fact-text strong{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:1px}
.infovisti-redesign .fact-text span{font-size:12px;color:var(--ink-60);line-height:1.5}
.infovisti-redesign .sidebar-review{background:var(--white);border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px}
.infovisti-redesign .sr-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.infovisti-redesign .sr-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.infovisti-redesign .sr-name{font-size:13px;font-weight:700;color:var(--ink);display:block}
.infovisti-redesign .sr-date{font-size:11px;color:var(--ink-40)}
.infovisti-redesign .sr-stars{color:var(--amber-500);font-size:13px;margin-bottom:6px}
.infovisti-redesign .sr-text{font-size:12.5px;color:var(--ink-60);line-height:1.65;font-style:italic}
.infovisti-redesign .sr-more{display:block;text-align:center;margin-top:10px;font-size:12px;font-weight:600;color:var(--blue-700);text-decoration:none}

/* ---- BLOG STRIP (full-width grey) ---- */
.infovisti-redesign .blog-strip{background:var(--ink-02);padding:56px 40px}
.infovisti-redesign .blog-strip-inner{max-width:1180px;margin:0 auto}
.infovisti-redesign .blog-strip-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.infovisti-redesign .blog-strip-header h2{font-family:var(--font-display);font-size:28px;font-weight:400;color:var(--blue-900);margin:0}
.infovisti-redesign .blog-strip-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--rose-600);margin-bottom:4px}

/* ======================== RESPONSIVE ======================== */
@media (max-width:1000px){
  .infovisti-redesign .page-hero-inner,.infovisti-redesign .page-body{grid-template-columns:1fr}
  .infovisti-redesign .page-hero-text{padding-bottom:28px}
  .infovisti-redesign .contact-card{border-radius:var(--r-2xl)}
  .infovisti-redesign .sidebar{position:static}
  .infovisti-redesign .footer-grid{grid-template-columns:1fr 1fr}
  .infovisti-redesign .traduzione-grid{grid-template-columns:1fr}
  .infovisti-redesign .countries-grid{grid-template-columns:repeat(2,1fr)}
  .infovisti-redesign .contact-info-grid{grid-template-columns:repeat(2,1fr)}
  .infovisti-redesign .nav{display:none}
  .infovisti-redesign .hero-inner{grid-template-columns:1fr;gap:40px}
  .infovisti-redesign .services-grid,.infovisti-redesign .reviews-grid,.infovisti-redesign .blog-grid{grid-template-columns:1fr 1fr}
  .infovisti-redesign .process-grid{grid-template-columns:1fr;gap:32px}
  .infovisti-redesign .process-grid::before{display:none}
  .infovisti-redesign .section{padding:56px 40px}
  /* hub */
  .infovisti-redesign .target-grid,.infovisti-redesign .doc-grid,.infovisti-redesign .expat-strip{grid-template-columns:1fr}
  .infovisti-redesign .country-grid{grid-template-columns:repeat(2,1fr)}
  .infovisti-redesign .process-strip{grid-template-columns:repeat(2,1fr);gap:20px 0}
  .infovisti-redesign .process-strip .process-step+.process-step::before{display:none}
}
@media (max-width:640px){
  .infovisti-redesign .topbar,.infovisti-redesign .header,.infovisti-redesign .breadcrumb,
  .infovisti-redesign .page-hero,.infovisti-redesign .page-body,.infovisti-redesign .cta-banner,
  .infovisti-redesign .hero,.infovisti-redesign .footer,.infovisti-redesign .blog-strip{padding-left:18px;padding-right:18px}
  .infovisti-redesign .section{padding:44px 18px}
  .infovisti-redesign .footer-grid{grid-template-columns:1fr}
  .infovisti-redesign .services-grid,.infovisti-redesign .reviews-grid,.infovisti-redesign .blog-grid{grid-template-columns:1fr}
  .infovisti-redesign .country-grid{grid-template-columns:1fr}
  .infovisti-redesign .contact-info-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   BLOG SINGLE (post) — redesign components
   Scoped under .infovisti-redesign; reuses chrome (.breadcrumb/.page-body/
   .sidebar/.cta-banner/.ss-item/.cta-primary…). Avia CSS is kept for posts, so
   .article-body only lightly enhances the native body.
   ========================================================================== */
.infovisti-redesign{--red-600:#DC2626;--red-50:#FEF2F2;--red-100:#FEE2E2}

/* Reading progress */
.infovisti-redesign .reading-progress{position:fixed;top:70px;left:0;right:0;height:3px;background:var(--ink-10);z-index:150}
.infovisti-redesign .reading-progress-bar{height:100%;background:linear-gradient(90deg,var(--rose-600),var(--blue-400));width:0;transition:width .1s linear}

/* Article hero */
.infovisti-redesign .article-hero{background:linear-gradient(135deg,var(--blue-900) 0%,#083A6B 55%,#0C4A82 100%);padding:48px 40px 0;position:relative;overflow:hidden}
.infovisti-redesign .article-hero::before{content:'';position:absolute;top:0;right:0;width:40%;height:100%;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 0,transparent 32px);-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.9),transparent);mask-image:linear-gradient(to left,rgba(0,0,0,.9),transparent)}
.infovisti-redesign .article-hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:end;position:relative;z-index:1}
.infovisti-redesign .article-hero-text{padding-bottom:48px}
.infovisti-redesign .post-meta-row{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.infovisti-redesign .post-cat{display:inline-flex;align-items:center;gap:5px;background:var(--rose-600);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);letter-spacing:.5px;text-transform:uppercase;text-decoration:none}
.infovisti-redesign .post-date,.infovisti-redesign .post-read-time,.infovisti-redesign .post-author{font-size:12.5px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:6px}
.infovisti-redesign .author-avatar{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;color:#fff}
.infovisti-redesign .article-hero h1{font-family:var(--font-display);font-size:clamp(28px,3.8vw,46px);font-weight:400;line-height:1.06;color:#fff;margin-bottom:16px}
.infovisti-redesign .article-hero h1 em{font-style:italic;color:var(--rose-400)}
.infovisti-redesign .article-hero-sub{font-size:16px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:28px;max-width:580px}

/* Cover card rising from hero */
.infovisti-redesign .article-cover-card{background:#fff;border-radius:var(--r-2xl) var(--r-2xl) 0 0;overflow:hidden;box-shadow:0 -8px 40px rgba(4,44,83,.22)}
.infovisti-redesign .article-cover-img{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:56px;position:relative;overflow:hidden}
.infovisti-redesign .article-cover-img.has-img{display:block;aspect-ratio:4/3}
.infovisti-redesign .article-cover-img.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.infovisti-redesign .share-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--ink-02);border-top:1px solid var(--ink-10)}
.infovisti-redesign .share-label{font-size:11.5px;font-weight:700;color:var(--ink-40);text-transform:uppercase;letter-spacing:1px}
.infovisti-redesign .share-btns{display:flex;gap:6px}
.infovisti-redesign .share-btn{width:30px;height:30px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:14px;border:1.5px solid var(--ink-10);background:#fff;cursor:pointer;transition:all var(--t) var(--ease);color:var(--ink-60);text-decoration:none;font-weight:700}
.infovisti-redesign .share-btn:hover{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700)}

/* Table of contents (in-content) */
.infovisti-redesign .toc{background:var(--blue-50);border:1.5px solid var(--blue-100);border-radius:var(--r-xl);padding:20px 22px;margin-bottom:36px}
.infovisti-redesign .toc-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:var(--blue-700);margin-bottom:14px;display:flex;align-items:center;gap:7px}
.infovisti-redesign .toc-list{list-style:none;display:flex;flex-direction:column;gap:3px;margin:0;padding:0}
.infovisti-redesign .toc-list li{margin:0}
.infovisti-redesign .toc-list li a{font-size:13.5px;color:var(--blue-700);text-decoration:none;display:flex;align-items:baseline;gap:8px;padding:4px 8px;border-radius:var(--r-sm);transition:all var(--t) var(--ease);font-weight:500;line-height:1.4}
.infovisti-redesign .toc-list li a:hover,.infovisti-redesign .toc-list li a.active{background:var(--blue-100)}
.infovisti-redesign .toc-list li.toc-h3 a{padding-left:22px;font-size:13px;font-weight:400}
.infovisti-redesign .toc-num{font-size:11px;font-weight:700;color:rgba(12,90,163,.5);width:18px;flex-shrink:0}

/* ---- Native content body (Avia/classic) light enhancement ---- */
.infovisti-redesign .article-body{font-size:16px;color:var(--ink-60);line-height:1.8}
.infovisti-redesign .article-body h2{font-family:var(--font-display);font-weight:400;color:var(--blue-900);font-size:26px;line-height:1.2;margin:34px 0 12px;scroll-margin-top:96px}
.infovisti-redesign .article-body h3{font-weight:700;color:var(--blue-900);font-size:18px;line-height:1.3;margin:26px 0 10px;scroll-margin-top:96px}
.infovisti-redesign .article-body h4{font-weight:700;color:var(--ink);font-size:15.5px;margin:20px 0 8px}
.infovisti-redesign .article-body p{margin:0 0 14px}
.infovisti-redesign .article-body a{color:var(--blue-700);font-weight:600;text-decoration:none}
.infovisti-redesign .article-body a:hover{text-decoration:underline}
.infovisti-redesign .article-body strong{color:var(--ink)}
.infovisti-redesign .article-body ul,.infovisti-redesign .article-body ol{margin:0 0 16px;padding-left:22px}
.infovisti-redesign .article-body li{margin-bottom:6px}
.infovisti-redesign .article-body img{max-width:100%;height:auto;border-radius:var(--r-lg)}
.infovisti-redesign .article-body figure{margin:20px 0}
.infovisti-redesign .article-body blockquote{border-left:3px solid var(--rose-400);background:var(--ink-02);padding:14px 18px;border-radius:0 var(--r-md) var(--r-md) 0;margin:20px 0;color:var(--ink)}
.infovisti-redesign .article-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}
.infovisti-redesign .article-body th,.infovisti-redesign .article-body td{border:1px solid var(--ink-10);padding:9px 12px;text-align:left}
.infovisti-redesign .article-body th{background:var(--blue-50);color:var(--blue-900);font-weight:700}
.infovisti-redesign .article-body .avia-image-container,.infovisti-redesign .article-body .avia_textblock{margin-bottom:16px}

/* Error cards (opt-in via [isv_errore]) */
.infovisti-redesign .error-card{border-radius:var(--r-xl);overflow:hidden;margin:20px 0;scroll-margin-top:96px}
.infovisti-redesign .error-header{display:flex;align-items:flex-start;gap:14px;padding:20px 22px}
.infovisti-redesign .error-num{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;color:#fff}
.infovisti-redesign .error-header-text{flex:1}
.infovisti-redesign .error-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}
.infovisti-redesign .error-header h2{font-size:17px;font-weight:700;line-height:1.3;margin:0;font-family:var(--font-body)}
.infovisti-redesign .error-severity{font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);margin-left:auto;flex-shrink:0;align-self:flex-start;margin-top:4px;white-space:nowrap}
.infovisti-redesign .error-body{padding:0 22px 22px}
.infovisti-redesign .error-body p{font-size:14px;color:var(--ink-60);line-height:1.75;margin-bottom:12px}
.infovisti-redesign .error-body p:last-child{margin-bottom:0}

/* Mistake / fix lists */
.infovisti-redesign .mistake-list{background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.15);border-radius:var(--r-md);padding:14px 16px;margin-bottom:14px}
.infovisti-redesign .mistake-list-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--red-600);margin-bottom:8px}
.infovisti-redesign .mistake-list ul{list-style:none;display:flex;flex-direction:column;gap:5px;margin:0;padding:0}
.infovisti-redesign .mistake-list ul li{font-size:13px;color:var(--ink-60);display:flex;align-items:flex-start;gap:7px;line-height:1.55;margin:0}
.infovisti-redesign .mistake-list ul li::before{content:'✗';color:var(--red-600);font-weight:700;flex-shrink:0;margin-top:1px;font-size:12px}
.infovisti-redesign .fix-list{background:var(--teal-50);border:1px solid rgba(29,158,117,.2);border-radius:var(--r-md);padding:14px 16px;margin-bottom:14px}
.infovisti-redesign .fix-list-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--teal-600);margin-bottom:8px}
.infovisti-redesign .fix-list ul{list-style:none;display:flex;flex-direction:column;gap:5px;margin:0;padding:0}
.infovisti-redesign .fix-list ul li{font-size:13px;color:var(--ink-60);display:flex;align-items:flex-start;gap:7px;line-height:1.55;margin:0}
.infovisti-redesign .fix-list ul li::before{content:'✓';color:var(--teal-600);font-weight:700;flex-shrink:0;margin-top:1px;font-size:12px}

/* Callouts */
.infovisti-redesign .callout{display:flex;align-items:flex-start;gap:10px;border-radius:var(--r-md);padding:12px 15px;margin-bottom:12px;font-size:13px;line-height:1.65}
.infovisti-redesign .callout-info{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-800)}
.infovisti-redesign .callout-warn{background:var(--amber-50);border:1px solid var(--amber-100);color:#92400e}
.infovisti-redesign .callout-icon{font-size:16px;flex-shrink:0;margin-top:1px}
.infovisti-redesign .callout p{margin:0 0 6px}
.infovisti-redesign .callout p:last-child{margin:0}
.infovisti-redesign .callout a{color:var(--blue-700);font-weight:600;text-decoration:none}
.infovisti-redesign .callout a:hover{text-decoration:underline}

/* Inline service CTA */
.infovisti-redesign .inline-cta{background:linear-gradient(135deg,var(--blue-50),#fff);border:1.5px solid var(--blue-100);border-radius:var(--r-xl);padding:18px 20px;margin:24px 0;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;transition:all var(--t) var(--ease)}
.infovisti-redesign .inline-cta:hover{border-color:var(--blue-400);box-shadow:var(--shadow-card);transform:translateY(-1px)}
.infovisti-redesign .inline-cta-icon{width:44px;height:44px;background:var(--blue-700);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.infovisti-redesign .inline-cta-text strong{display:block;font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:2px}
.infovisti-redesign .inline-cta-text span{font-size:12.5px;color:var(--ink-60)}
.infovisti-redesign .inline-cta-arrow{margin-left:auto;font-size:18px;color:var(--blue-400);flex-shrink:0;transition:transform var(--t) var(--ease)}
.infovisti-redesign .inline-cta:hover .inline-cta-arrow{transform:translateX(4px)}

/* Summary / interactive checklist */
.infovisti-redesign .summary-box{background:linear-gradient(135deg,var(--blue-900),#083A6B);border-radius:var(--r-xl);padding:26px 28px;margin:36px 0;scroll-margin-top:96px}
.infovisti-redesign .summary-box h2{font-family:var(--font-display);font-size:22px;font-weight:400;color:#fff;margin-bottom:6px}
.infovisti-redesign .summary-box p{font-size:13.5px;color:rgba(255,255,255,.65);margin-bottom:18px;line-height:1.65}
.infovisti-redesign .summary-checklist{display:flex;flex-direction:column;gap:8px}
.infovisti-redesign .summary-item{display:flex;align-items:flex-start;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:11px 14px;font-size:13.5px;color:rgba(255,255,255,.88);line-height:1.5;cursor:pointer;transition:background var(--t) var(--ease)}
.infovisti-redesign .summary-item:hover{background:rgba(255,255,255,.1)}
.infovisti-redesign .summary-check{width:20px;height:20px;border-radius:4px;border:1.5px solid rgba(255,255,255,.3);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px;transition:all var(--t) var(--ease)}
.infovisti-redesign .summary-item.checked .summary-check{background:var(--teal-400);border-color:var(--teal-400);color:#fff}
.infovisti-redesign .summary-item.checked .summary-check::after{content:'✓'}
.infovisti-redesign .summary-item.checked span{text-decoration:line-through;opacity:.6}

/* Article CTA strip */
.infovisti-redesign .article-cta{text-align:center;padding:32px;background:var(--rose-50);border:1.5px solid var(--rose-400);border-radius:var(--r-xl);margin-top:36px}
.infovisti-redesign .article-cta h3{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--blue-900);margin-bottom:6px}
.infovisti-redesign .article-cta p{font-size:14px;color:var(--ink-60);margin-bottom:18px;line-height:1.65}
.infovisti-redesign .article-cta-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* Author box */
.infovisti-redesign .author-box{display:flex;align-items:center;gap:16px;background:var(--ink-02);border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:20px;margin-top:32px}
.infovisti-redesign .author-box-avatar{width:52px;height:52px;border-radius:50%;background:var(--blue-700);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;flex-shrink:0}
.infovisti-redesign .author-box-name{font-size:14px;font-weight:700;color:var(--ink);display:block;margin-bottom:2px}
.infovisti-redesign .author-box-role{font-size:12.5px;color:var(--ink-40)}
.infovisti-redesign .author-box-bio{font-size:13px;color:var(--ink-60);line-height:1.65;margin-top:6px}

/* Related articles */
.infovisti-redesign .related-section{margin-top:36px}
.infovisti-redesign .related-section h2{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--blue-900);margin-bottom:20px}
.infovisti-redesign .related-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.infovisti-redesign .related-card{border:1.5px solid var(--ink-10);border-radius:var(--r-xl);overflow:hidden;text-decoration:none;color:inherit;display:block;transition:all var(--t) var(--ease);background:#fff}
.infovisti-redesign .related-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.infovisti-redesign .related-thumb{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,var(--blue-50),var(--blue-100));overflow:hidden}
.infovisti-redesign .related-thumb.has-img{display:block}
.infovisti-redesign .related-thumb.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.infovisti-redesign .related-body{padding:14px 16px}
.infovisti-redesign .related-cat{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--blue-500);display:block;margin-bottom:5px}
.infovisti-redesign .related-card h3{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:4px}
.infovisti-redesign .related-card:hover h3{color:var(--blue-700)}
.infovisti-redesign .related-date{font-size:11px;color:var(--ink-40)}

/* Sidebar: TOC, recent, categories */
.infovisti-redesign .sidebar-toc{background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px}
.infovisti-redesign .sidebar-toc h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:var(--ink-40);margin-bottom:14px}
.infovisti-redesign .stoc-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}
.infovisti-redesign .stoc-list li{margin:0}
.infovisti-redesign .stoc-list li a{font-size:13px;color:var(--ink-60);text-decoration:none;display:flex;align-items:baseline;gap:6px;padding:5px 8px;border-radius:var(--r-sm);transition:all var(--t) var(--ease);line-height:1.4}
.infovisti-redesign .stoc-list li a:hover,.infovisti-redesign .stoc-list li a.active{background:var(--blue-50);color:var(--blue-700)}
.infovisti-redesign .stoc-list li.toc-h3 a{padding-left:20px}
.infovisti-redesign .stoc-num{font-size:10.5px;font-weight:700;color:var(--ink-20);width:16px;flex-shrink:0}
.infovisti-redesign .sidebar-recent{background:var(--ink-02);border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px}
.infovisti-redesign .sidebar-recent h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:var(--ink-40);margin-bottom:12px}
.infovisti-redesign .recent-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--ink-10);text-decoration:none;color:inherit;transition:color var(--t) var(--ease)}
.infovisti-redesign .recent-item:last-child{border-bottom:none}
.infovisti-redesign .recent-item:hover{color:var(--blue-700)}
.infovisti-redesign .recent-thumb{width:48px;height:48px;border-radius:var(--r-sm);background:var(--blue-50);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;overflow:hidden}
.infovisti-redesign .recent-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--r-sm)}
.infovisti-redesign .recent-text strong{display:block;font-size:12.5px;font-weight:600;line-height:1.35;margin-bottom:2px}
.infovisti-redesign .recent-text span{font-size:11px;color:var(--ink-40)}
.infovisti-redesign .sidebar-cats{background:#fff;border:1.5px solid var(--ink-10);border-radius:var(--r-xl);padding:18px}
.infovisti-redesign .sidebar-cats h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:var(--ink-40);margin-bottom:12px}
.infovisti-redesign .cat-tags{display:flex;flex-wrap:wrap;gap:6px}
.infovisti-redesign .cat-tag{font-size:12px;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);border:1.5px solid var(--ink-10);color:var(--ink-60);text-decoration:none;transition:all var(--t) var(--ease)}
.infovisti-redesign .cat-tag:hover{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700)}
.infovisti-redesign .cat-tag.active{background:var(--blue-700);border-color:var(--blue-700);color:#fff}

/* Blog responsive */
@media (max-width:900px){
  .infovisti-redesign .article-hero-inner{grid-template-columns:1fr}
  .infovisti-redesign .article-cover-card{max-width:420px}
  .infovisti-redesign .related-grid{grid-template-columns:1fr}
  .infovisti-redesign .article-hero{padding-left:18px;padding-right:18px}
}

/* ==========================================================================
   BLOG INDEX / ARCHIVE (post listing) — redesign components
   Scoped under .infovisti-redesign; reuses chrome (.breadcrumb/.page-hero/
   .section/.blog-grid/.blog-card/.cat-tag/.cta-banner…).
   ========================================================================== */

/* Hero: single column (no finder card) with its own bottom padding */
.infovisti-blog-index .page-hero{padding-bottom:44px}
.infovisti-blog-index .page-hero-inner{grid-template-columns:1fr;align-items:start}
.infovisti-blog-index .page-hero-text{padding-bottom:0;max-width:820px}

/* Listing section spacing */
.infovisti-redesign .blog-index-section{padding-top:44px;padding-bottom:72px}

/* Category filter bar */
.infovisti-redesign .blog-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--ink-10)}
.infovisti-redesign .blog-filter .cat-tag{font-size:13px;padding:7px 15px}
.infovisti-redesign .blog-count{font-size:13px;color:var(--ink-40);font-weight:500;margin-bottom:24px}

/* Card enrichment (excerpt + meta) reused on top of .blog-card */
.infovisti-redesign .blog-card{display:flex;flex-direction:column}
.infovisti-redesign .blog-body{padding:22px;display:flex;flex-direction:column;flex:1}
.infovisti-redesign .blog-excerpt{font-size:13.5px;color:var(--ink-60);line-height:1.6;margin:0 0 14px}
.infovisti-redesign .blog-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-40);margin-top:auto}
.infovisti-redesign .blog-dot{opacity:.5}

/* Featured (latest) article — wide horizontal card above the grid */
.infovisti-redesign .blog-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:0;margin-bottom:32px;flex-direction:row}
.infovisti-redesign .blog-feature .blog-thumb{aspect-ratio:auto;height:100%;min-height:300px}
.infovisti-redesign .blog-feature .blog-thumb-placeholder{font-size:72px}
.infovisti-redesign .blog-feature .blog-body{padding:38px 40px;justify-content:center}
.infovisti-redesign .blog-feature-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;background:var(--amber-50);color:var(--sand-600);border:1px solid var(--amber-100);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 11px;border-radius:var(--r-pill);margin-bottom:14px}
.infovisti-redesign .blog-feature h3{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.6vw,30px);line-height:1.15;margin-bottom:12px}
.infovisti-redesign .blog-feature .blog-excerpt{font-size:15px;line-height:1.7;margin-bottom:18px}
.infovisti-redesign .blog-feature .blog-meta{font-size:13px}

/* Pagination */
.infovisti-redesign .ivr-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:52px}
.infovisti-redesign .ivr-page{min-width:42px;height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--ink-10);border-radius:var(--r-md);font-size:14px;font-weight:600;color:var(--ink-60);text-decoration:none;background:#fff;transition:all var(--t) var(--ease)}
.infovisti-redesign a.ivr-page:hover{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700)}
.infovisti-redesign .ivr-page.current{background:var(--blue-700);border-color:var(--blue-700);color:#fff}
.infovisti-redesign .ivr-page.dots{border-color:transparent;background:transparent}

/* Empty state */
.infovisti-redesign .blog-empty{text-align:center;padding:56px 20px;background:var(--ink-02);border:1.5px dashed var(--ink-10);border-radius:var(--r-2xl)}
.infovisti-redesign .blog-empty-emoji{font-size:48px;margin-bottom:14px}
.infovisti-redesign .blog-empty h3{font-family:var(--font-display);font-weight:400;font-size:24px;color:var(--blue-900);margin-bottom:8px}
.infovisti-redesign .blog-empty p{font-size:15px;color:var(--ink-60);max-width:420px;margin:0 auto 22px;line-height:1.6}

@media (max-width:900px){
  .infovisti-redesign .blog-feature{grid-template-columns:1fr}
  .infovisti-redesign .blog-feature .blog-thumb{min-height:220px;aspect-ratio:16/9}
  .infovisti-redesign .blog-feature .blog-body{padding:28px 24px}
}

/* ==========================================================================
   CHI SIAMO (redesign) — corporate about page
   Scoped under .infovisti-redesign; reuses tokens + shared chrome
   (.section/.section-outer/.section-eyebrow/.section h2/.section-intro,
   .reviews-*, .clients-*, .cta-banner). Only the about-specific components
   below are new.
   ========================================================================== */

/* ---- HERO (centered corporate) ---- */
.infovisti-redesign .corp-hero{background:var(--blue-900);background-image:linear-gradient(135deg,#021E3A 0%,var(--blue-900) 40%,#083A6B 100%);padding:80px 40px 72px;position:relative;overflow:hidden;text-align:center}
.infovisti-redesign .corp-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(55,138,221,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(55,138,221,.04) 1px,transparent 1px);background-size:48px 48px}
.infovisti-redesign .corp-hero::after{content:'';position:absolute;bottom:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(207,73,136,.12),transparent 70%)}
.infovisti-redesign .corp-hero-inner{position:relative;z-index:1;max-width:800px;margin:0 auto}
.infovisti-redesign .corp-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:6px 16px;border-radius:var(--r-pill);font-size:11.5px;font-weight:600;color:rgba(255,255,255,.8);letter-spacing:.5px;text-transform:uppercase;margin-bottom:24px}
.infovisti-redesign .corp-hero h1{font-family:var(--font-display);font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.04;color:#fff;margin-bottom:20px}
.infovisti-redesign .corp-hero h1 em{font-style:italic;color:var(--rose-400)}
.infovisti-redesign .corp-hero-sub{font-size:17px;color:rgba(255,255,255,.68);line-height:1.75;margin-bottom:40px;max-width:620px;margin-left:auto;margin-right:auto}
.infovisti-redesign .hero-stats{display:flex;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xl);overflow:hidden;background:rgba(255,255,255,.04)}
.infovisti-redesign .hero-stat{flex:1;min-width:140px;padding:20px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.infovisti-redesign .hero-stat:last-child{border-right:none}
.infovisti-redesign .hero-stat-num{font-family:var(--font-display);font-size:36px;font-weight:400;color:#fff;line-height:1;margin-bottom:4px}
.infovisti-redesign .hero-stat-num em{font-style:italic;color:var(--rose-400)}
.infovisti-redesign .hero-stat-label{font-size:12px;color:rgba(255,255,255,.5);font-weight:500;line-height:1.4}

/* ---- MISSIONE ---- */
.infovisti-redesign .mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.infovisti-redesign .mission-h2{font-family:var(--font-display);font-size:clamp(26px,3.5vw,40px);font-weight:400;color:var(--blue-900);line-height:1.1;margin-bottom:20px}
.infovisti-redesign .mission-text p{font-size:15.5px;color:var(--ink-60);line-height:1.85;margin-bottom:18px}
.infovisti-redesign .mission-text p strong{color:var(--ink)}
.infovisti-redesign .mission-quote{border-left:3px solid var(--rose-600);padding:16px 20px;background:var(--rose-50);border-radius:0 var(--r-lg) var(--r-lg) 0;margin:28px 0}
.infovisti-redesign .mission-quote p{font-family:var(--font-display);font-size:18px;font-style:italic;color:var(--blue-900);line-height:1.5;margin:0}
.infovisti-redesign .mission-quote cite{display:block;margin-top:8px;font-size:12.5px;font-style:normal;color:var(--ink-40);font-family:var(--font-body)}
.infovisti-redesign .mission-visual{position:relative;height:420px}
.infovisti-redesign .mcard{position:absolute;border-radius:var(--r-2xl);overflow:hidden}
.infovisti-redesign .mcard-main{width:100%;height:280px;background:linear-gradient(145deg,var(--blue-700),var(--blue-900));display:flex;align-items:center;justify-content:center;top:0;left:0;box-shadow:var(--shadow-lift)}
.infovisti-redesign .mcard-main-inner{text-align:center;padding:32px}
.infovisti-redesign .mcard-main-icon{font-size:48px;margin-bottom:12px;display:block}
.infovisti-redesign .mcard-main h3{font-family:var(--font-display);font-size:24px;font-weight:400;color:#fff;margin-bottom:6px}
.infovisti-redesign .mcard-main p{font-size:13px;color:rgba(255,255,255,.65);line-height:1.6}
.infovisti-redesign .mcard-badges{margin-top:20px;display:flex;justify-content:center;gap:8px}
.infovisti-redesign .mcard-badges span{background:rgba(255,255,255,.12);padding:4px 10px;border-radius:var(--r-pill);font-size:11px;color:rgba(255,255,255,.8);font-weight:600}
.infovisti-redesign .mcard-float1{width:200px;bottom:60px;right:-20px;background:#fff;border:1.5px solid var(--ink-10);padding:16px;box-shadow:var(--shadow-hover)}
.infovisti-redesign .mcard-float1 .mf-num{font-family:var(--font-display);font-size:32px;color:var(--blue-700);line-height:1}
.infovisti-redesign .mcard-float1 .mf-label{font-size:12px;color:var(--ink-40);margin-top:2px}
.infovisti-redesign .mcard-float2{width:170px;bottom:0;left:10px;background:var(--teal-50);border:1.5px solid var(--teal-100);padding:14px;box-shadow:var(--shadow-card)}
.infovisti-redesign .mcard-float2 .mf-icon{font-size:22px;margin-bottom:6px}
.infovisti-redesign .mcard-float2 .mf-text{font-size:12px;font-weight:600;color:var(--teal-600)}

/* ---- VALORI ---- */
.infovisti-redesign .values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.infovisti-redesign .value-card{border-radius:var(--r-xl);padding:28px;border:1.5px solid var(--ink-10);background:#fff;transition:all var(--t) var(--ease);position:relative;overflow:hidden}
.infovisti-redesign .value-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--vc-gradient,linear-gradient(90deg,var(--blue-400),var(--blue-700)));transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}
.infovisti-redesign .value-card:hover{box-shadow:var(--shadow-hover);border-color:var(--blue-200);transform:translateY(-2px)}
.infovisti-redesign .value-card:hover::before{transform:scaleX(1)}
.infovisti-redesign .value-icon{width:52px;height:52px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.infovisti-redesign .value-card h3{font-size:17px;font-weight:700;color:var(--blue-900);margin-bottom:8px}
.infovisti-redesign .value-card p{font-size:14px;color:var(--ink-60);line-height:1.7}

/* ---- STORIA (timeline) + CERTIFICAZIONI ---- */
.infovisti-redesign .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.infovisti-redesign .story-h2{font-family:var(--font-display);font-size:clamp(26px,3.5vw,40px);font-weight:400;color:var(--blue-900);line-height:1.1;margin-bottom:32px}
.infovisti-redesign .story-h2-tight{margin-bottom:28px}
.infovisti-redesign .timeline{position:relative;padding-left:40px}
.infovisti-redesign .timeline::before{content:'';position:absolute;left:12px;top:6px;bottom:6px;width:2px;background:linear-gradient(to bottom,var(--blue-700),var(--blue-200))}
.infovisti-redesign .tl-item{position:relative;margin-bottom:36px}
.infovisti-redesign .tl-item:last-child{margin-bottom:0}
.infovisti-redesign .tl-dot{position:absolute;left:-34px;top:3px;width:24px;height:24px;border-radius:50%;background:var(--blue-700);border:3px solid #fff;box-shadow:0 0 0 2px var(--blue-200);z-index:1}
.infovisti-redesign .tl-year{font-size:12px;font-weight:700;color:var(--blue-500);letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}
.infovisti-redesign .tl-item h3{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:5px}
.infovisti-redesign .tl-item p{font-size:13.5px;color:var(--ink-60);line-height:1.7}
.infovisti-redesign .tl-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);margin-top:6px}
.infovisti-redesign .tl-badge-blue{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100)}
.infovisti-redesign .tl-badge-teal{background:var(--teal-50);color:var(--teal-600);border:1px solid var(--teal-100)}
.infovisti-redesign .tl-badge-amber{background:var(--amber-50);color:#92400e;border:1px solid var(--amber-100)}
.infovisti-redesign .tl-badge-rose{background:var(--rose-50);color:var(--rose-600);border:1px solid #f4c0d1}
.infovisti-redesign .cert-list{display:flex;flex-direction:column;gap:14px}
.infovisti-redesign .cert-card{border-radius:var(--r-xl);padding:20px;border:1.5px solid var(--ink-10);background:#fff;display:flex;align-items:flex-start;gap:14px;transition:all var(--t) var(--ease)}
.infovisti-redesign .cert-card:hover{box-shadow:var(--shadow-hover);border-color:var(--blue-200);transform:translateY(-2px)}
.infovisti-redesign .cert-seal{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.infovisti-redesign .cert-card h3{font-size:15px;font-weight:700;color:var(--blue-900);margin-bottom:4px}
.infovisti-redesign .cert-card p{font-size:13.5px;color:var(--ink-60);line-height:1.65;margin-bottom:8px}

/* ---- TEAM ---- */
.infovisti-redesign .team-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.infovisti-redesign .team-value-row{display:flex;align-items:flex-start;gap:14px;padding:16px;border-radius:var(--r-lg);background:var(--ink-02);border:1.5px solid var(--ink-10);margin-bottom:12px;transition:all var(--t) var(--ease)}
.infovisti-redesign .team-value-row:last-child{margin-bottom:0}
.infovisti-redesign .team-value-row:hover{border-color:var(--blue-200);background:var(--blue-50)}
.infovisti-redesign .tv-icon{width:40px;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.infovisti-redesign .tv-text strong{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:2px}
.infovisti-redesign .tv-text span{font-size:13px;color:var(--ink-60);line-height:1.55}
.infovisti-redesign .specialist-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.infovisti-redesign .specialist-card{border-radius:var(--r-xl);padding:22px;border:1.5px solid var(--ink-10);background:#fff;text-align:center;transition:all var(--t) var(--ease)}
.infovisti-redesign .specialist-card:hover{box-shadow:var(--shadow-hover);border-color:var(--blue-200);transform:translateY(-2px)}
.infovisti-redesign .specialist-avatar{width:60px;height:60px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}
.infovisti-redesign .specialist-card h3{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:2px}
.infovisti-redesign .specialist-role{font-size:12px;color:var(--ink-40);margin-bottom:8px;display:block}
.infovisti-redesign .specialist-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}
.infovisti-redesign .specialist-tag{font-size:10.5px;padding:2px 7px;border-radius:var(--r-pill);background:var(--blue-50);color:var(--blue-700);font-weight:600}

/* ---- RETE ---- */
.infovisti-redesign .network-visual{background:var(--blue-50);border-radius:var(--r-2xl);padding:32px;position:relative;overflow:hidden;margin-bottom:24px}
.infovisti-redesign .network-visual::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(55,138,221,.12) 1px,transparent 1px);background-size:24px 24px}
.infovisti-redesign .network-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:24px}
.infovisti-redesign .network-hub{width:80px;height:80px;border-radius:50%;background:var(--blue-700);display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:var(--shadow-lift)}
.infovisti-redesign .network-spokes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:700px}
.infovisti-redesign .spoke-pill{background:#fff;border:1.5px solid var(--blue-100);border-radius:var(--r-pill);padding:6px 14px;font-size:13px;font-weight:600;color:var(--blue-800);transition:all var(--t) var(--ease)}
.infovisti-redesign .spoke-pill em{font-size:10px;color:var(--rose-600);font-style:normal;font-weight:700}
.infovisti-redesign .spoke-pill:hover{border-color:var(--blue-400);box-shadow:var(--shadow-card);background:var(--blue-50)}
.infovisti-redesign .remote-box{background:var(--blue-50);border:1.5px solid var(--blue-100);border-radius:var(--r-xl);padding:24px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.infovisti-redesign .remote-box-icon{font-size:32px}
.infovisti-redesign .remote-box-title{font-size:15px;font-weight:700;color:var(--blue-900);margin-bottom:3px}
.infovisti-redesign .remote-box p{font-size:13.5px;color:var(--ink-60);line-height:1.65}
.infovisti-redesign .remote-box-cta{margin-left:auto;flex-shrink:0}

/* ---- RESPONSIVE (Chi Siamo) ---- */
@media (max-width:1000px){
  .infovisti-redesign .mission-grid,
  .infovisti-redesign .story-grid,
  .infovisti-redesign .team-intro-grid{grid-template-columns:1fr;gap:40px}
  .infovisti-redesign .values-grid{grid-template-columns:repeat(2,1fr)}
  .infovisti-redesign .mission-visual{height:auto;padding-bottom:60px}
  .infovisti-redesign .mcard-main{position:relative}
  .infovisti-redesign .mcard-float1{right:0}
}
@media (max-width:640px){
  .infovisti-redesign .corp-hero{padding:56px 18px 48px}
  .infovisti-redesign .hero-stats{flex-wrap:wrap}
  .infovisti-redesign .hero-stat{flex:1 1 50%;border-bottom:1px solid rgba(255,255,255,.08)}
  .infovisti-redesign .hero-stat:nth-child(2){border-right:none}
  .infovisti-redesign .values-grid,
  .infovisti-redesign .specialist-grid{grid-template-columns:1fr}
  .infovisti-redesign .mcard-float1,
  .infovisti-redesign .mcard-float2{position:relative;width:100%;right:auto;left:auto;bottom:auto;margin-top:14px}
  .infovisti-redesign .mission-visual{height:auto;padding-bottom:0}
  .infovisti-redesign .remote-box-cta{margin-left:0;width:100%;justify-content:center}
}

/* ============================================================
   HUB — sezioni editoriali reintegrate (ACF): intro, settori, benefit
   ============================================================ */
.infovisti-redesign .hub-intro{margin-bottom:40px;font-size:14.5px;color:var(--ink-60);line-height:1.75}
.infovisti-redesign .hub-intro h2{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--blue-900);line-height:1.2;margin:26px 0 12px}
.infovisti-redesign .hub-intro h3{font-size:18px;font-weight:700;color:var(--blue-900);margin:22px 0 10px}
.infovisti-redesign .hub-intro p{margin-bottom:12px}
.infovisti-redesign .hub-intro ul{margin:0 0 14px 18px;padding:0}
.infovisti-redesign .hub-intro li{list-style:disc;margin-bottom:6px;font-size:14px;line-height:1.6}
.infovisti-redesign .hub-intro a{color:var(--blue-700);font-weight:600}
.infovisti-redesign .hub-intro strong{color:var(--ink)}

/* Home — blocco editoriale "Chi siamo" (testo SEO reintegrato dalla produzione) */
.infovisti-home .home-about{max-width:900px;margin:24px auto 0;columns:2;column-gap:48px;font-size:14.5px;color:var(--ink-60);line-height:1.8}
.infovisti-home .home-about p{margin:0 0 16px;break-inside:avoid}
@media(max-width:900px){.infovisti-home .home-about{columns:1}}

.infovisti-redesign .hub-specialties{margin-bottom:40px}
.infovisti-redesign .hub-specialties-header{margin-bottom:20px}
.infovisti-redesign .hub-specialties-header h2{font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--blue-900);line-height:1.15;margin-bottom:8px}
.infovisti-redesign .hub-specialties-header p{font-size:14.5px;color:var(--ink-60);line-height:1.7}
.infovisti-redesign .spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.infovisti-redesign .spec-card{display:flex;flex-direction:column;padding:20px;border:1.5px solid var(--ink-10);border-radius:var(--r-lg);background:#fff;text-decoration:none;color:inherit;transition:all var(--t) var(--ease)}
.infovisti-redesign a.spec-card:hover{border-color:var(--rose-400);background:var(--rose-50);box-shadow:var(--shadow-card);transform:translateY(-2px)}
.infovisti-redesign .spec-icon{font-size:26px;margin-bottom:10px}
.infovisti-redesign .spec-title{font-size:15px;font-weight:700;color:var(--blue-900);line-height:1.25;margin-bottom:6px}
.infovisti-redesign .spec-text{font-size:13px;color:var(--ink-60);line-height:1.6;flex:1}
.infovisti-redesign .spec-arrow{margin-top:12px;font-size:13px;font-weight:600;color:var(--rose-600)}

.infovisti-redesign .hub-benefits{margin-bottom:40px;background:var(--teal-50);border:1.5px solid var(--teal-100);border-radius:var(--r-xl);padding:28px 32px}
.infovisti-redesign .hub-benefits>h2{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--teal-600);line-height:1.15;margin-bottom:18px}
.infovisti-redesign .benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.infovisti-redesign .benefit-card{display:flex;gap:12px;align-items:flex-start}
.infovisti-redesign .benefit-check{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal-400);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.infovisti-redesign .benefit-card strong{display:block;font-size:14.5px;color:var(--ink);margin-bottom:2px}
.infovisti-redesign .benefit-card p{font-size:13px;color:var(--ink-60);line-height:1.6}

@media (max-width:860px){
  .infovisti-redesign .spec-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .infovisti-redesign .spec-grid,
  .infovisti-redesign .benefit-grid{grid-template-columns:1fr}
  .infovisti-redesign .hub-benefits{padding:22px 20px}
}

/* ============================================================= *
 * Visti — corpo guida auto-strutturato (TOC + card di sezione)
 * JS: infovistiVistiInit() in js/redesign.js
 * ============================================================= */
.infovisti-visti .editorial-body{margin-bottom:32px}

/* Indice in-page */
.infovisti-visti .ivr-toc{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--r-lg);padding:18px 22px;margin:0 0 26px}
.infovisti-visti .ivr-toc-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue-700);margin-bottom:12px}
.infovisti-visti .ivr-toc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}
.infovisti-visti .ivr-toc-list li{margin:0;padding:0}
.infovisti-visti .ivr-toc-list li::before{display:none}
.infovisti-visti .ivr-toc-list a{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--r-md);font-size:13.5px;font-weight:500;color:var(--ink-60);text-decoration:none;transition:all var(--t) var(--ease)}
.infovisti-visti .ivr-toc-list a:hover{background:#fff;color:var(--blue-700)}
.infovisti-visti .ivr-toc-list a.active{background:#fff;color:var(--blue-700);box-shadow:var(--shadow-card)}
.infovisti-visti .ivr-toc-num{flex-shrink:0;width:22px;height:22px;border-radius:var(--r-sm);background:#fff;color:var(--blue-700);border:1px solid var(--blue-100);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.infovisti-visti .ivr-toc-list a:hover .ivr-toc-num,.infovisti-visti .ivr-toc-list a.active .ivr-toc-num{background:var(--blue-700);color:#fff;border-color:var(--blue-700)}

/* Card di sezione */
.infovisti-visti .editorial-body .ivr-visto-module{background:#fff;border:1px solid var(--ink-10);border-radius:var(--r-lg);padding:22px 26px;margin:0 0 18px;box-shadow:var(--shadow-card);scroll-margin-top:90px}
.infovisti-visti .editorial-body .ivr-visto-module>.ivr-mod-head{margin:0 0 14px;font-size:18px;color:var(--blue-900);scroll-margin-top:90px;padding-bottom:12px;border-bottom:1px solid var(--ink-05)}
.infovisti-visti .editorial-body .ivr-visto-module>*:last-child{margin-bottom:0}

/* Intro — piu' leggera, senza card pesante */
.infovisti-visti .editorial-body .ivr-visto-module.ivr-intro{background:transparent;border:none;box-shadow:none;padding:0;margin-bottom:8px}
.infovisti-visti .editorial-body .ivr-intro>.ivr-mod-head{font-family:var(--font-display);font-weight:400;font-size:27px;border-bottom:none;padding-bottom:0;margin-bottom:10px}

/* Pannelli collassabili (glossario / approfondimenti) */
.infovisti-visti .ivr-collapse-toggle{margin-top:2px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);font-family:var(--font-body);font-size:13.5px;font-weight:600;padding:11px 14px;border-radius:var(--r-md);cursor:pointer;transition:all var(--t) var(--ease)}
.infovisti-visti .ivr-collapse-toggle:hover{background:#fff}
.infovisti-visti .ivr-chev{transition:transform var(--t) var(--ease);font-size:11px}
.infovisti-visti .ivr-collapse-toggle.open .ivr-chev{transform:rotate(180deg)}
.infovisti-visti .ivr-collapse-body{margin-top:14px}
.infovisti-visti .ivr-collapse-body[hidden]{display:none}

/* Glossario: lettere come chip, termini compatti */
.infovisti-visti .editorial-body .ivr-glossary .ivr-collapse-body h4{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;background:var(--blue-700);color:#fff;border-radius:var(--r-sm);font-size:14px;margin:16px 0 8px}
.infovisti-visti .editorial-body .ivr-glossary .ivr-collapse-body h5{font-size:13.5px;color:var(--blue-900);margin:10px 0 2px}

@media (max-width:640px){
  .infovisti-visti .ivr-toc-list{grid-template-columns:1fr}
  .infovisti-visti .editorial-body .ivr-visto-module{padding:18px 18px}
}
