/*
    Template: consulting
    Theme Name: Consulting Child Theme
    Theme URI: http://consulting.stylemixthemes.com/
    Author: StylemixThemes
    Author URI: http://stylemixthemes.com/
    Description: Consulting - Business and Finance WordPress theme. Using Consluting you can easily create a modern website with real content. Easily edit the real content and compose the page layout with drag & drop page builder Consulting is the best ever finance, consulting, brokerage WordPress theme. It’s fully Responsive and Easy to Customize using intuitive Drag & Drop Visual Composer and Theme Options panel in WordPress Customizer.
    Version: 4.0.2
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Tags: blue, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, fluid-layout, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, sticky-post, translation-ready
    Text Domain: consulting-child-theme
*/

/* =========================================================
   MySoft Consulting — Override brand (Kinaweb)
   Palette: viola #31295E (primario) · arancio #EE7426 (CTA) · blu #3E76B0 (secondario)
   ========================================================= */
:root{
    --ms-primary:   #31295E;
    --ms-accent:    #EE7426;
    --ms-blue:      #3E76B0;
    --ms-blue-soft: #6EA3C7;
    --ms-bg-light:  #F0F3F8;
    --ms-border:    #DDD8E8;
}

/* --- CTA / bottoni: arancio con hover viola (come da brief) --- */
.theme_button,
.btn,
.wpb_button,
.vc_btn3.vc_btn3-color-default,
.stm_button,
button.theme_button,
input[type="submit"],
.stm-button-link .stm_button{
    display: inline-block;
    padding: 13px 30px !important;
    border-radius: 6px !important;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    background-color: var(--ms-accent) !important;
    border: 2px solid var(--ms-accent) !important;
    color: #fff !important;
}
.theme_button:hover,
.btn:hover,
.wpb_button:hover,
.vc_btn3.vc_btn3-color-default:hover,
.stm_button:hover,
button.theme_button:hover,
input[type="submit"]:hover,
.stm-button-link .stm_button:hover{
    background-color: var(--ms-primary) !important;
    border-color: var(--ms-primary) !important;
    color: #fff !important;
}

/* --- Bottone secondario (outline viola) --- */
.theme_button.btn-outline,
.btn-outline{
    background-color: transparent !important;
    border: 2px solid var(--ms-primary) !important;
    color: var(--ms-primary) !important;
}
.theme_button.btn-outline:hover,
.btn-outline:hover{
    background-color: var(--ms-primary) !important;
    color: #fff !important;
}

/* --- Titoli in viola brand --- */
h1, h2, h3,
.entry-title,
.vc_custom_heading{
    color: var(--ms-primary);
}

/* --- Link nel contenuto: blu brand, hover arancio --- */
.entry-content a:not(.theme_button):not(.btn),
.page-content a:not(.theme_button):not(.btn){
    color: var(--ms-blue);
}
.entry-content a:not(.theme_button):not(.btn):hover,
.page-content a:not(.theme_button):not(.btn):hover{
    color: var(--ms-accent);
}

/* =========================================================
   MySoft — Sezioni pagina (Home e interne) con WPBakery
   ========================================================= */
.ms-eyebrow{
    display:inline-block; color:var(--ms-accent);
    text-transform:uppercase; letter-spacing:2px; font-weight:700;
    font-size:13px; margin-bottom:14px;
}
.ms-section{ padding:72px 0; }
.ms-section--alt{ background:var(--ms-bg-light); }
.ms-section .ms-title{ color:var(--ms-primary); margin-bottom:8px; }
.ms-section .ms-sub{ color:var(--ms-text-light,#555); margin-bottom:36px; font-size:18px; }

/* Hero */
.ms-hero{
    background:
        linear-gradient(120deg, rgba(49,41,94,.92) 0%, rgba(59,50,112,.86) 55%, rgba(62,118,176,.72) 160%),
        url('/wp-content/uploads/2026/07/hero.jpg') center/cover no-repeat;
    color:#fff; padding:96px 0 92px;
}

/* Immagini nelle card (demo) — inset, larghezza piena, altezza fissa */
.ms-card{ overflow:hidden; }
.ms-card .ms-card-img{
    display:block; width:100% !important; max-width:100% !important;
    height:130px !important; object-fit:cover;
    margin:0 0 16px !important; border-radius:8px;
}
/* Immagine inline (Cos'è prodotto, Chi Siamo, ecc.) */
.ms-inline-img{
    display:block; width:100% !important; max-width:100% !important;
    height:220px !important; object-fit:cover;
    border-radius:12px; margin:0 0 24px;
}
.ms-inline-img--wide{ height:260px !important; }

/* Trattino heading blu (aggiunto dal tema a ogni h1..h6): centrato e chiaro sulla banda CTA */
.ms-cta-band h2:after{
    margin-left:auto !important; margin-right:auto !important;
    background:rgba(255,255,255,.9) !important;
}
.ms-hero h1{ color:#fff !important; font-size:46px; line-height:1.12; margin:0 0 18px; }
.ms-hero p,
.ms-hero .ms-lead{ color:#e9e7f2 !important; font-size:20px; line-height:1.55; max-width:720px; margin-bottom:30px; }
.ms-hero .ms-lead{ margin-bottom:30px; }
.ms-hero .theme_button,.ms-hero .btn{ margin:6px 12px 6px 0; }

/* Barra numeri */
.ms-numbers{ background:var(--ms-primary); color:#fff; padding:46px 0; text-align:center; }
.ms-numbers .ms-num{ font-size:44px; font-weight:800; color:var(--ms-accent) !important; line-height:1; display:block; }
.ms-numbers .ms-num-label{ display:block; margin-top:8px; font-size:15px; color:#d8d5e6 !important; letter-spacing:.3px; }

/* Card soluzioni / pilastri / industry */
.ms-card{
    background:#fff; border:1px solid var(--ms-border); border-radius:12px;
    padding:30px 26px; height:100%; transition:.2s ease;
}
.ms-card:hover{ box-shadow:0 14px 34px rgba(49,41,94,.12); border-color:var(--ms-accent); transform:translateY(-3px); }
.ms-card .ms-card-ico{ font-size:34px; color:var(--ms-blue); margin-bottom:14px; }
.ms-card h3{ color:var(--ms-primary); font-size:20px; margin:0 0 10px; }
.ms-card p{ color:#555; margin:0 0 16px; }
.ms-card .ms-more{ color:var(--ms-accent); font-weight:700; text-decoration:none; }
.ms-card .ms-more:hover{ text-decoration:underline; }

/* Griglie di card ad altezza uguale (evita lo sfalsamento dei float WPBakery) */
.ms-eq{ display:flex; flex-wrap:wrap; align-items:stretch; }
.ms-eq > .wpb_column{ float:none; display:flex; }
.ms-eq > .wpb_column > .vc_column-inner{ display:flex; width:100%; }
.ms-eq > .wpb_column > .vc_column-inner > .wpb_wrapper{ display:flex; flex-direction:column; width:100%; }
.ms-eq .wpb_text_column{ width:100%; }
.ms-eq .ms-card{ height:100%; }

/* Banner CTA pre-footer */
.ms-cta-band{ background:var(--ms-accent); color:#fff; padding:58px 0; text-align:center; }
.ms-cta-band h2{ color:#fff !important; margin:0 0 10px; font-size:32px; }
.ms-cta-band p{ color:#fff !important; font-size:18px; margin:0 0 26px; opacity:.95; }
.ms-cta-band .theme_button,.ms-cta-band .btn{ background:#fff !important; color:var(--ms-accent) !important; border-color:#fff !important; }
.ms-cta-band .theme_button:hover,.ms-cta-band .btn:hover{ background:var(--ms-primary) !important; color:#fff !important; border-color:var(--ms-primary) !important; }

/* =========================================================
   Header MySoft — viola su tutti i viewport e tutte le pagine
   (il logo è la versione bianca, deve poggiare sempre su scuro)
   ========================================================= */
#header,
#header .header-box,
.mobile_header,
.mobile_header .header-box{
    background-color: var(--ms-primary) !important;
}
/* la "placca logo" e la nav-box del tema hanno fondo bianco: trasparenti */
#header .logo-box,
#header .nav-box,
.mobile_header .logo-box,
.mobile_header .logo_wrapper{
    background-color: transparent !important;
}
/* voci menu desktop in bianco, hover/attivo arancio */
#header .nav-box a,
#header .main-navigation a,
#header .menu > li > a,
#header .sf-menu > li > a{
    color:#fff !important;
}
#header .nav-box a:hover,
#header .menu > li > a:hover,
#header .menu > li.current-menu-item > a,
#header .menu > li.current_page_item > a,
#header .menu > li.current-menu-ancestor > a{
    color: var(--ms-accent) !important;
}
/* dropdown: fondo viola scuro, voci bianche */
#header .sub-menu,
#header .menu ul.sub-menu{
    background: #2a234f !important;
    border-color: rgba(255,255,255,.08) !important;
}
#header .sub-menu a{ color:#eceaf4 !important; }
#header .sub-menu a:hover{ color: var(--ms-accent) !important; }
/* hamburger mobile: linee bianche */
.menu-toggle span,
.menu-toggle i,
.menu-toggle .lines,
.menu-toggle .line,
.mobile_header .menu-toggle span{
    background-color:#fff !important;
    color:#fff !important;
}

/* Bottone "ghost" su fondo scuro (hero) */
a.ms-ghost,a.ms-ghost:visited{
    display:inline-block; padding:13px 28px; border:2px solid rgba(255,255,255,.7);
    color:#fff !important; border-radius:6px; font-weight:700; text-decoration:none;
}
a.ms-ghost:hover{ background:#fff; color:var(--ms-primary) !important; border-color:#fff; }

/* =========================================================
   MySoft — Pagine prodotto (scheda soluzione)
   ========================================================= */
.ms-hero--prod{ padding:72px 0 64px; margin-top:-30px; }
.ms-hero--prod h1{ font-size:40px; }
.ms-lead-block{ font-size:18px; color:#444; line-height:1.75; }
.ms-section .ms-title + .ms-lead-block{ margin-top:6px; }

/* lista funzionalità con spunta */
.ms-feat-list{ list-style:none; padding:0; margin:0; }
.ms-feat-list li{
    position:relative; padding:13px 0 13px 38px;
    border-bottom:1px solid var(--ms-border); color:#333; font-size:16px;
}
.ms-feat-list li:last-child{ border-bottom:none; }
.ms-feat-list li:before{
    content:"\2713"; position:absolute; left:0; top:13px;
    width:24px; height:24px; line-height:24px; text-align:center; border-radius:50%;
    background:var(--ms-accent); color:#fff; font-size:13px; font-weight:700;
}

/* card "richiedi demo" laterale */
.ms-card--cta{ background:var(--ms-primary) !important; color:#fff; border:none !important; position:sticky; top:24px; }
.ms-card--cta h3{ color:#fff !important; }
.ms-card--cta p{ color:#e3e0ef !important; }

/* card beneficio */
.ms-benefit .ms-benefit-ico{
    display:inline-block; width:46px; height:46px; line-height:46px; text-align:center;
    border-radius:50%; background:rgba(238,116,38,.12); color:var(--ms-accent);
    font-size:20px; font-weight:700; margin-bottom:14px;
}
.ms-benefit p{ color:#333; font-size:16px; margin:0; }
.ms-section--perche{ background:var(--ms-bg-light); }
.ms-section--perche .ms-lead-block{ max-width:820px; }

/* link-card (hub) */
.ms-card.ms-linkcard{ display:block; text-decoration:none; }
.ms-card.ms-linkcard:hover h3{ color:var(--ms-accent); }
/* step numerati (Metodo) */
.ms-step .ms-step-num{
    display:inline-block; width:46px; height:46px; line-height:46px; text-align:center;
    border-radius:50%; background:var(--ms-primary); color:#fff; font-weight:800; font-size:18px; margin-bottom:14px;
}
/* contatti */
.ms-contact-list{ list-style:none; padding:0; margin:0; }
.ms-contact-list li{ padding:8px 0; color:#333; font-size:16px; }
.ms-contact-list strong{ color:var(--ms-primary); }
.ms-card--cta .ms-contact-list li,
.ms-card--cta .ms-contact-list li *{ color:#e3e0ef !important; }
.ms-card--cta .ms-contact-list strong{ color:#fff !important; }
.ms-map iframe{ width:100%; height:380px; border:0; border-radius:12px; display:block; }
.ms-form-note{ background:var(--ms-bg-light); border:1px dashed var(--ms-border); border-radius:12px; padding:22px; color:#555; }

/* Form Contact Form 7 — stile brand */
.wpcf7 .ms-form-row{ display:flex; gap:16px; }
.wpcf7 .ms-form-row .wpcf7-form-control-wrap{ flex:1; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea{
    width:100%; padding:12px 14px; margin:7px 0;
    border:1px solid var(--ms-border); border-radius:8px;
    font-size:15px; color:#333; background:#fff; box-sizing:border-box;
}
.wpcf7 textarea{ min-height:140px; resize:vertical; }
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{
    outline:none; border-color:var(--ms-accent); box-shadow:0 0 0 3px rgba(238,116,38,.12);
}
.wpcf7 .wpcf7-acceptance{ display:block; margin:12px 0 18px; font-size:14px; color:#555; }
.wpcf7 .theme_button{ cursor:pointer; }
.wpcf7 .wpcf7-not-valid-tip{ color:#c0392b; font-size:13px; }
.wpcf7-response-output{ border-radius:8px; padding:12px 16px !important; margin:12px 0 0 !important; }
@media (max-width:600px){ .wpcf7 .ms-form-row{ flex-direction:column; gap:0; } }

@media (max-width:768px){
    .ms-hero h1{ font-size:34px; }
    .ms-hero{ padding:64px 0; }
    .ms-hero--prod h1{ font-size:30px; }
    .ms-numbers .ms-num{ font-size:34px; }
    .ms-card--cta{ position:static; }
}

/* =========================================================
   HOME 2.0 — slider claim, ecosistema Microsoft, loghi, valori
   ========================================================= */
/* Hero: claim rotante (slider messaggi) */
.ms-rotate{ position:relative; display:block; min-height:1.2em; margin-bottom:18px; }
.ms-rotate > span{
    position:absolute; left:0; right:0; top:0; opacity:0;
    transition:opacity .6s ease, transform .6s ease; transform:translateY(10px);
}
.ms-rotate > span.is-active{ opacity:1; transform:none; position:relative; }

/* Ecosistema Microsoft — card con icona (niente foto) */
.ms-eco{ text-align:left; }
.ms-eco .ms-eco-ico{
    width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,var(--ms-blue),var(--ms-primary)); color:#fff; font-size:24px; margin-bottom:16px;
}
.ms-eco h3{ color:var(--ms-primary); font-size:19px; margin:0 0 8px; }
.ms-eco p{ color:#555; margin:0; font-size:15px; }

/* Loghi partner scorrevoli (marquee) */
.ms-logos{ overflow:hidden; padding:6px 0; }
.ms-logos__mask{ overflow:hidden; position:relative; }
.ms-logos__track{ display:flex; gap:56px; width:max-content; align-items:center; animation:ms-marquee 30s linear infinite; }
.ms-logos__track:hover{ animation-play-state:paused; }
.ms-logo-chip{ font-weight:700; color:var(--ms-primary); font-size:18px; white-space:nowrap; opacity:.7; letter-spacing:.2px; }
.ms-logo-chip b{ color:var(--ms-accent); }
@keyframes ms-marquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ms-logos-note{ text-align:center; color:#999; font-size:12px; margin-top:6px; }

/* Missione & valori */
.ms-mv{ text-align:center; }
.ms-mv .ms-claim{ font-size:26px; color:var(--ms-primary); font-weight:700; max-width:820px; margin:0 auto 30px; line-height:1.35; }
.ms-value{ display:flex; gap:14px; align-items:flex-start; text-align:left; }
.ms-value .ms-value-ico{ flex:0 0 auto; width:40px; height:40px; border-radius:50%; background:rgba(238,116,38,.12); color:var(--ms-accent); display:flex; align-items:center; justify-content:center; font-weight:800; }
.ms-value h4{ color:var(--ms-primary); margin:0 0 4px; font-size:17px; }
.ms-value p{ color:#555; margin:0; font-size:14px; }

/* =========================================================
   HOME 3.0 — rifinitura estetica (shadow, decori, micro-interazioni)
   ========================================================= */
/* Eyebrow con lineetta */
.ms-eyebrow{ display:inline-flex; align-items:center; }
.ms-eyebrow::before{ content:""; width:26px; height:2px; background:var(--ms-accent); margin-right:12px; }
.ms-mv .ms-eyebrow, .ms-cta-band .ms-eyebrow{ justify-content:center; }

/* Card: ombra morbida + hover elegante */
.ms-card{ box-shadow:0 6px 22px rgba(49,41,94,.07); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ms-card:hover{ box-shadow:0 22px 46px rgba(49,41,94,.15); }

/* --- HERO: decori geometrici + glow --- */
.ms-hero{ position:relative; overflow:hidden; }
.ms-hero .vc_column-inner{ position:relative; z-index:2; }
.ms-hero::before{ content:""; position:absolute; right:-70px; top:-70px; width:340px; height:340px;
    background:linear-gradient(135deg, rgba(110,163,199,.28), rgba(62,118,176,0)); transform:rotate(45deg); border-radius:56px; z-index:1; }
.ms-hero::after{ content:""; position:absolute; right:170px; bottom:-110px; width:240px; height:240px;
    border:2px solid rgba(255,255,255,.10); transform:rotate(45deg); border-radius:40px; z-index:1; }
.ms-hero-badges{ display:flex; flex-wrap:wrap; gap:14px 26px; margin-top:26px; }
.ms-hero-badge{ display:inline-flex; align-items:center; gap:9px; color:#eceaf4; font-size:14px; font-weight:600; }
.ms-hero-badge::before{ content:"\2713"; width:20px; height:20px; border-radius:50%; background:var(--ms-accent); color:#fff; font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }

/* --- NUMERI: separatori --- */
.ms-numbers > .wpb_column:not(:first-child) .vc_column-inner{ border-left:1px solid rgba(255,255,255,.14); }
.ms-numbers .ms-num-label{ text-transform:uppercase; letter-spacing:.6px; font-size:13px !important; }

/* --- LOGHI: sfumatura ai bordi + chip a pillola --- */
.ms-logos{ background:var(--ms-bg-light); border-radius:18px; padding:24px 0; }
.ms-logos__mask{ -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); }
.ms-logo-chip{ background:#fff; border:1px solid var(--ms-border); border-radius:40px; padding:12px 26px;
    box-shadow:0 3px 12px rgba(49,41,94,.06); font-size:16px; opacity:1; }

/* --- ECOSISTEMA: icona premium + hover --- */
.ms-eco .ms-eco-ico{ box-shadow:0 12px 26px rgba(62,118,176,.35); transition:transform .3s ease; font-size:20px; letter-spacing:.5px; }
.ms-eco:hover{ transform:translateY(-4px); border-color:var(--ms-blue); }
.ms-eco:hover .ms-eco-ico{ transform:rotate(-6deg) scale(1.06); }

/* --- METODO (Come lavoriamo) --- */
.ms-step .ms-step-num{ box-shadow:0 12px 26px rgba(49,41,94,.22); }
.ms-step{ text-align:center; }
.ms-step .ms-step-num{ margin-left:auto; margin-right:auto; }
.ms-step h3:after{ margin-left:auto !important; margin-right:auto !important; }

/* --- TESTIMONIAL / quote band --- */
.ms-quote-band{ background:linear-gradient(120deg,#31295E 0%,#3b3270 55%,#3E76B0 150%) !important; color:#fff; position:relative; overflow:hidden; padding:70px 0 !important; }
.ms-quote-band .vc_column-inner{ position:relative; z-index:2; }
.ms-quote-band::before{ content:""; position:absolute; left:-60px; bottom:-90px; width:260px; height:260px; border:2px solid rgba(255,255,255,.08); transform:rotate(45deg); border-radius:40px; }
.ms-quote{ max-width:840px; margin:0 auto; text-align:center; position:relative; z-index:2; }
.ms-quote .q{ font-size:26px; line-height:1.5; color:#fff !important; font-weight:500; }
.ms-quote .q b{ color:#fff; }
.ms-quote .qmark{ font-size:64px; color:var(--ms-accent); line-height:0; display:block; margin-bottom:10px; font-weight:800; }
.ms-quote .author{ margin-top:22px; color:#cfc9e6 !important; font-weight:600; font-size:15px; }

/* --- CTA band: gradiente + decoro --- */
.ms-cta-band{ background:linear-gradient(120deg,#EE7426 0%,#f18a43 100%) !important; position:relative; overflow:hidden; }
.ms-cta-band::before{ content:""; position:absolute; right:-70px; top:-70px; width:260px; height:260px; background:rgba(255,255,255,.08); transform:rotate(45deg); border-radius:44px; }
.ms-cta-band > .vc_column-inner, .ms-cta-band .wpb_text_column{ position:relative; z-index:2; }

@media (max-width:768px){
    .ms-numbers > .wpb_column .vc_column-inner{ border-left:0 !important; }
    .ms-quote .q{ font-size:20px; }
}

/* Niente strip bianca prima del footer (il tema mette padding-bottom:60px su #main) */
#main{ padding-bottom:0 !important; }

/* Loghi partner: immagini reali nelle pillole */
.ms-logo-chip{ display:inline-flex; align-items:center; padding:14px 28px; }
.ms-logo-img{ height:42px; width:auto; max-width:220px; object-fit:contain; display:block; filter:grayscale(18%); transition:filter .25s; }
.ms-logos__track:hover .ms-logo-img{ filter:none; }
.ms-logos-note{ margin-top:14px; color:#9a94b3; }

/* =========================================================
   FOOTER MySoft
   ========================================================= */
.ms-footer{ background:#241d47; color:#b9b3d1; font-size:15px; }
.ms-footer .ms-footer-top{ padding:60px 0 44px; }
.ms-footer .ms-footer-cols{ display:grid; grid-template-columns:1.5fr 1fr 1.2fr 1.2fr; gap:44px; }
.ms-footer h4{ color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.8px; margin:0 0 20px; }
.ms-footer h4::after{ content:""; display:block; width:28px; height:3px; background:var(--ms-accent); border-radius:2px; margin-top:10px; }
.ms-footer a{ color:#b9b3d1; text-decoration:none; transition:color .2s; }
.ms-footer a:hover{ color:var(--ms-accent); }
.ms-footer ul{ list-style:none; padding:0; margin:0; }
.ms-footer li{ padding:7px 0; line-height:1.5; }
.ms-foot-logo{ height:54px; width:auto; margin-bottom:18px; display:block; }
.ms-foot-tag{ font-size:14px; line-height:1.7; max-width:300px; color:#a49dc2; margin:0; }
.ms-foot-social a{ display:inline-flex; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08);
    align-items:center; justify-content:center; color:#fff; margin-top:18px; font-size:18px; }
.ms-foot-social a:hover{ background:var(--ms-accent); color:#fff; }
.ms-foot-contact strong{ display:block; color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:2px; }
.ms-foot-contact li{ padding:9px 0; }

.ms-footer-bottom{ border-top:1px solid rgba(255,255,255,.08); padding:20px 0; }
.ms-footer-bottom-wr{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; font-size:13px; color:#8f88ad; }
.ms-footer-links{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.ms-footer-links .ms-credits{ color:#8f88ad; }

@media (max-width:900px){
    .ms-footer .ms-footer-cols{ grid-template-columns:1fr 1fr; gap:34px; }
}
@media (max-width:520px){
    .ms-footer .ms-footer-cols{ grid-template-columns:1fr; }
    .ms-footer-bottom-wr{ flex-direction:column; text-align:center; }
}

/* =========================================================
   PROPOSTA B — Home alternativa (stile premium, riferimento Nubetech)
   Classi msb-* usate SOLO sulla proposta: la home attuale resta invariata.
   ========================================================= */
.msb-hero{ position:relative; overflow:hidden; margin-top:-30px;
    background:radial-gradient(1100px 640px at 72% -8%, #43377f 0%, #221b45 42%, #0f0c20 100%) !important;
    color:#fff; padding:0 !important; }
.msb-hero > .vc_column, .msb-hero .wpb_column, .msb-hero .vc_column-inner, .msb-hero .wpb_wrapper, .msb-hero .wpb_text_column{ padding:0 !important; margin:0 !important; }
.msb-hero .vc_column-inner{ position:relative; z-index:3; }
/* video hero (riempie TUTTO lo slider) + overlay + contenitore centrato */
.msb-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.msb-overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(115deg, rgba(20,16,36,.90) 0%, rgba(34,27,69,.76) 55%, rgba(15,12,32,.92) 100%); }
.msb-hero-inner{ position:relative; z-index:3; max-width:1200px; margin:0 auto; padding:120px 20px 112px; }
.msb-hero .ms-eyebrow{ color:#ffb27a; }
.msb-hero .ms-eyebrow::before{ background:#ffb27a; }
.msb-hero h1{ color:#fff !important; font-size:56px; line-height:1.08; font-weight:800; letter-spacing:-.6px; margin:0 0 20px; }
.msb-hero .ms-lead{ color:#c9c4e6 !important; }
.msb-hero .ms-hero-badge{ color:#d8d3ef; }
.msb-shapes{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.msb-shapes span{ position:absolute; border:2px solid rgba(255,255,255,.07); border-radius:26px; display:block; }
.msb-shapes span:nth-child(1){ width:360px; height:360px; right:5%; top:-70px; transform:rotate(35deg); animation:msb-f1 13s ease-in-out infinite; }
.msb-shapes span:nth-child(2){ width:200px; height:200px; right:24%; bottom:-90px; border:none; background:linear-gradient(135deg,rgba(62,118,176,.20),transparent); animation:msb-f2 16s ease-in-out infinite; }
.msb-shapes span:nth-child(3){ width:120px; height:120px; left:6%; top:30%; transform:rotate(20deg); animation:msb-f2 11s ease-in-out infinite; }
.msb-shapes span:nth-child(4){ width:70px; height:70px; left:20%; bottom:16%; border:none; background:rgba(238,116,38,.18); animation:msb-f1 9s ease-in-out infinite; }
@keyframes msb-f1{ 0%,100%{ transform:rotate(35deg) translateY(0);} 50%{ transform:rotate(45deg) translateY(26px);} }
@keyframes msb-f2{ 0%,100%{ transform:rotate(18deg) translateY(0);} 50%{ transform:rotate(8deg) translateY(-26px);} }

/* Card competenze illustrate (tile a gradiente) */
.msb-eco{ border:none !important; color:#fff !important; height:100%; padding:36px 30px !important; border-radius:16px !important; box-shadow:0 16px 34px rgba(49,41,94,.16) !important; }
.msb-eco h3{ color:#fff !important; margin:0 0 10px; font-size:20px; }
.msb-eco h3::after{ display:none !important; }
.msb-eco p{ color:rgba(255,255,255,.9) !important; margin:0; font-size:15px; }
.msb-eco .msb-ico{ font-size:40px; display:block; margin-bottom:18px; color:#fff; }
.msb-eco:hover{ transform:translateY(-6px); box-shadow:0 26px 52px rgba(49,41,94,.28) !important; }
.msb-eco--ba{ background:linear-gradient(150deg,#3E76B0,#31295E) !important; }
.msb-eco--ai{ background:linear-gradient(150deg,#B25A2E,#2f2450) !important; }
.msb-eco--mc{ background:linear-gradient(150deg,#6EA3C7,#3E76B0) !important; }
.msb-eco--cs{ background:linear-gradient(150deg,#56507A,#241d47) !important; }

/* Reveal allo scroll */
.msb-reveal{ opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.msb-reveal.msb-in{ opacity:1; transform:none; }

/* Sezioni scure (tutta la pagina è dark) */
.msb-dark{ background:#141024 !important; }
.msb-alt{ background:#1b1637 !important; }
.msb-dark, .msb-alt{ color:#a79fce; }
.msb-dark p, .msb-alt p, .msb-dark .ms-sub, .msb-alt .ms-sub{ color:#a79fce !important; }
.msb-dark .ms-title, .msb-alt .ms-title, .msb-dark h2, .msb-alt h2, .msb-dark h3, .msb-alt h3, .msb-dark h4, .msb-alt h4{ color:#fff !important; }
.msb-dark .ms-eyebrow, .msb-alt .ms-eyebrow{ color:#ffb27a; }
.msb-dark .ms-eyebrow::before, .msb-alt .ms-eyebrow::before{ background:#ffb27a; }
/* card metodo su scuro: vetro translucido */
.msb-dark .ms-card, .msb-alt .ms-card{ background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.09) !important; box-shadow:none !important; }
.msb-dark .ms-card:hover, .msb-alt .ms-card:hover{ border-color:rgba(238,116,38,.5) !important; box-shadow:0 20px 44px rgba(0,0,0,.4) !important; }
.msb-dark .ms-card p, .msb-alt .ms-card p{ color:#a79fce !important; }
/* le tile gradiente restano piene (vincono sul fondo vetro delle card scure) */
.msb-dark .ms-card.msb-eco, .msb-alt .ms-card.msb-eco{ border:none !important; }
.msb-dark .ms-card.msb-eco--ba{ background:linear-gradient(150deg,#3E76B0,#31295E) !important; }
.msb-dark .ms-card.msb-eco--ai{ background:linear-gradient(150deg,#B25A2E,#2f2450) !important; }
.msb-dark .ms-card.msb-eco--mc{ background:linear-gradient(150deg,#6EA3C7,#3E76B0) !important; }
.msb-dark .ms-card.msb-eco--cs{ background:linear-gradient(150deg,#56507A,#241d47) !important; }
.msb-dark .ms-card.msb-eco p{ color:rgba(255,255,255,.92) !important; }
.msb-dark .ms-card.msb-eco:hover{ border:none !important; box-shadow:0 26px 52px rgba(0,0,0,.5) !important; }
/* loghi su scuro: pillole leggere */
.msb-dark .ms-logos, .msb-alt .ms-logos{ background:rgba(255,255,255,.04) !important; }
.msb-dark .ms-logo-chip, .msb-alt .ms-logo-chip{ background:#fff !important; }
.msb-dark .ms-logos-note, .msb-alt .ms-logos-note{ color:#7d76a3 !important; }
/* numeri su scuro (già scuri, tolgo il fondo viola per uniformità) */
.msb-dark.ms-numbers{ background:transparent !important; }
/* CTA scura con bottone arancio invece di banda piena */
.msb-cta{ background:#141024 !important; text-align:center; }
.msb-cta h2{ color:#fff !important; } .msb-cta p{ color:#a79fce !important; }
.msb-cta::before, .msb-cta::after{ display:none !important; }

/* Sfondo pagina Proposta B scuro (niente flash bianco dietro le sezioni in reveal) */
body.page-id-184{ background:#141024; }
body.page-id-184 #main{ background:#141024 !important; }

/* --- PUSH 2.0: rifiniture premium Proposta B --- */
/* Hero: keyword in gradiente + alone caldo */
.msb-hero h1 .g{ background:linear-gradient(90deg,#EE7426,#6EA3C7); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.msb-orb{ position:absolute; width:560px; height:560px; right:-8%; top:-14%; z-index:2; pointer-events:none;
    background:radial-gradient(circle, rgba(238,116,38,.26) 0%, rgba(62,118,176,.10) 40%, transparent 68%); filter:blur(8px); }

/* Numeri: count-up + accento */
.ms-numbers .ms-num.msb-count{ font-variant-numeric:tabular-nums; }

/* Tile competenze: bagliore d'angolo, watermark, freccia */
.msb-eco{ position:relative; overflow:hidden; }
.msb-eco::after{ content:""; position:absolute; right:-50px; bottom:-50px; width:170px; height:170px;
    background:radial-gradient(circle, rgba(255,255,255,.20), transparent 70%); pointer-events:none; }
.msb-eco .msb-ico-bg{ position:absolute; right:-16px; bottom:-26px; font-size:130px; color:rgba(255,255,255,.10); z-index:0; }
.msb-eco > *{ position:relative; z-index:1; }
.msb-eco .msb-more{ display:inline-block; margin-top:16px; color:#fff; font-weight:700; opacity:.85; transform:translateX(0); transition:transform .25s, opacity .25s; }
.msb-eco:hover .msb-more{ transform:translateX(6px); opacity:1; }

/* Sezione split "Perché il cloud" */
.msb-check{ list-style:none; padding:0; margin:22px 0 0; }
.msb-check li{ display:flex; align-items:center; gap:14px; padding:11px 0; color:#c9c4e6 !important; font-size:16px; }
.msb-check li::before{ content:"\2713"; flex:0 0 24px; width:24px; height:24px; border-radius:50%;
    background:linear-gradient(135deg,#EE7426,#b64f11); color:#fff; text-align:center; line-height:24px; font-size:12px; font-weight:800; }
.msb-visual{ border-radius:22px; min-height:340px; position:relative; overflow:hidden;
    background:linear-gradient(150deg,#3E76B0 0%,#31295E 100%); box-shadow:0 30px 64px rgba(0,0,0,.45); }
.msb-visual i{ position:absolute; color:rgba(255,255,255,.9); }
.msb-visual .i1{ font-size:84px; left:16%; top:22%; }
.msb-visual .i2{ font-size:56px; right:18%; top:26%; color:rgba(255,255,255,.7); }
.msb-visual .i3{ font-size:64px; left:24%; bottom:20%; color:rgba(255,255,255,.75); }
.msb-visual .i4{ font-size:46px; right:24%; bottom:24%; color:rgba(255,255,255,.6); }
.msb-visual::before{ content:""; position:absolute; inset:0; background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.16), transparent 45%); }
.msb-visual .msb-vlabel{ position:absolute; left:0; right:0; bottom:22px; text-align:center; color:#fff; font-weight:700; letter-spacing:.5px; opacity:.9; }

@media (max-width:768px){ .msb-hero h1{ font-size:36px; } .msb-hero-inner{ padding:80px 20px; } }

/* ===== HOME UFFICIALE — nuove sezioni (doc cliente) ===== */
/* Slider hero 3 messaggi — altezza fissa (niente salto), slide uniformi */
.msb-hero .ms-rotate{ min-height:2.35em; }
.msb-hero .ms-rotate .s2, .msb-hero .ms-rotate .s3{ font-size:inherit; font-weight:800; line-height:1.08; display:block; }
@media (max-width:768px){ .msb-hero .ms-rotate{ min-height:3.4em; } }
/* Dots navigazione slider */
.ms-dots{ display:flex; gap:10px; margin:2px 0 24px; }
.ms-dot{ width:11px; height:11px; border-radius:50%; border:none; padding:0; cursor:pointer; background:rgba(255,255,255,.28); transition:background .25s, transform .25s; }
.ms-dot:hover{ background:rgba(255,255,255,.55); }
.ms-dot.is-active{ background:#EE7426; transform:scale(1.15); }

/* Competenze: badge bianco con logo prodotto */
.msb-eco .msb-logobadge{ width:66px; height:66px; border-radius:15px; background:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:18px; box-shadow:0 10px 24px rgba(0,0,0,.22); }
.msb-eco .msb-logobadge img{ max-width:42px; max-height:40px; object-fit:contain; }
.msb-eco .msb-logobadge i{ font-size:30px; }
.msb-eco--ai .msb-logobadge i{ color:#8661c5; } .msb-eco--cs .msb-logobadge i{ color:#0a84d8; } .msb-eco--mc .msb-logobadge i{ color:#0a84d8; }

/* Partnership: card bianche cliccabili */
.msb-partners{ display:flex; flex-wrap:wrap; justify-content:center; gap:22px; margin-top:8px; }
.msb-partner{ background:#fff; border-radius:14px; padding:22px 30px; min-width:150px; min-height:96px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .2s, box-shadow .2s; box-shadow:0 8px 22px rgba(0,0,0,.18); }
.msb-partner:hover{ transform:translateY(-5px); box-shadow:0 20px 42px rgba(0,0,0,.32); }
.msb-partner img{ max-height:54px; max-width:180px; object-fit:contain; pointer-events:none; }

/* Lightbox */
.msb-lb{ position:fixed; inset:0; z-index:99999; background:rgba(10,8,20,.9); display:none; align-items:center; justify-content:center; padding:24px; }
.msb-lb.open{ display:flex; }
.msb-lb-box{ background:#fff; border-radius:18px; max-width:520px; width:100%; padding:44px 38px; text-align:center; position:relative; }
.msb-lb-box img{ max-height:84px; max-width:260px; object-fit:contain; margin-bottom:22px; }
.msb-lb-box h3{ color:var(--ms-primary); margin:0 0 12px; }
.msb-lb-box p{ color:#555; margin:0; line-height:1.6; }
.msb-lb-close{ position:absolute; top:12px; right:18px; font-size:28px; color:#aaa; cursor:pointer; line-height:1; }
.msb-lb-close:hover{ color:var(--ms-accent); }

/* Mission costellazione */
.msb-constellation{ position:relative; overflow:hidden; padding:120px 0 !important; }
.msb-constellation canvas.msb-cv{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.msb-constellation .vc_column-inner{ position:relative; z-index:2; }
.msb-constellation .msb-claim{ font-size:40px; font-weight:800; color:#fff !important; max-width:820px; line-height:1.14; }
.msb-constellation .ms-lead-block{ color:#c1bce0 !important; max-width:740px; }

/* Banda claim finale: bg immagine + testo nitido */
.msb-claimband{ position:relative; overflow:hidden; padding:120px 0 !important; text-align:center; }
.msb-claimband .msb-bg{ position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
.msb-claimband .msb-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(15,12,32,.92), rgba(34,27,69,.84)); }
.msb-claimband .vc_column-inner{ position:relative; z-index:2; }
.msb-claimband .ms-eyebrow{ justify-content:center; color:#ffb27a; }
.msb-claimband .msb-claim{ font-size:46px; font-weight:800; color:#fff !important; max-width:920px; margin:16px auto 0; line-height:1.1; }

/* CTA split (testo + foto) */
.msb-ctasplit{ background:#1b1637 !important; }
.msb-ctasplit .ms-eyebrow{ color:#ffb27a; }
.msb-ctasplit h2{ color:#fff !important; font-size:34px; margin:6px 0 14px; }
.msb-ctasplit p{ color:#a79fce !important; font-size:17px; }
.msb-ct-photo{ border-radius:18px; min-height:340px; height:100%; background-size:cover; background-position:center; box-shadow:0 24px 52px rgba(0,0,0,.42); }
@media (max-width:768px){ .msb-ct-photo{ min-height:220px; } .msb-constellation .msb-claim{ font-size:28px; } .msb-claimband .msb-claim{ font-size:30px; } }

/* ===== Fix richiesti cliente ===== */
/* Marquee loghi: larghezza della slide + loghi più piccoli */
/* Marquee loghi a tutto schermo (full-bleed) */
.ms-logos{ width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; border-radius:0 !important; }
.ms-logo-img{ height:38px !important; }
.ms-logo-chip{ padding:12px 24px !important; }
/* Puntini checklist: regola forte che batte gli stili lista del tema (spunta FontAwesome) */
.msb-dark ul.msb-check{ list-style:none !important; padding:0 !important; }
.msb-dark ul.msb-check li{ display:flex !important; align-items:center !important; gap:14px !important; padding:11px 0 !important; color:#c9c4e6 !important; font-size:16px !important; line-height:1.5 !important; }
.msb-dark ul.msb-check li::before{ content:"" !important; position:static !important; display:block !important; flex:0 0 24px !important; width:24px !important; height:24px !important; min-width:24px !important; margin:0 !important; padding:0 !important; border-radius:50% !important; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/13px 13px no-repeat, linear-gradient(135deg,#EE7426,#b64f11) !important; top:auto !important; }
/* Mission: testo a larghezza container, costellazione a tutta larghezza */
.msb-constellation .wpb_text_column{ max-width:1180px; margin:0 auto; padding:0 15px; }

/* ===== Competenze: icona decorativa + logo prodotto ben visibile ===== */
.msb-eco .msb-ic{ width:62px; height:62px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.16); margin-bottom:20px; }
.msb-eco .msb-ic i{ font-size:29px; color:#fff !important; }
.msb-eco .msb-logochip{ display:inline-flex; align-items:center; gap:9px; margin-top:22px; padding:8px 15px; background:#fff; border-radius:999px; box-shadow:0 8px 20px rgba(0,0,0,.25); }
.msb-eco .msb-logochip img{ height:20px !important; width:auto !important; max-width:96px !important; object-fit:contain; }
.msb-eco .msb-logochip span{ color:#31295E; font-weight:700; font-size:13px; white-space:nowrap; }

/* ===== Banda claim finale: chiusura brandizzata pulita (no foto placeholder) ===== */
.msb-claimband{ background:radial-gradient(1100px 420px at 82% 18%, rgba(238,116,38,.20), transparent 60%), linear-gradient(120deg,#171233,#2a2154 58%,#3a2c6d) !important; }
.msb-claimband .msb-claim-sub{ color:#c9c4e6 !important; font-size:18px; max-width:640px; margin:18px auto 0; line-height:1.55; }

/* ===== Barra sticky (CTA sempre visibile allo scroll) ===== */
html{ scroll-behavior:smooth; scroll-padding-top:76px; }
#ms-stickybar{ position:fixed; top:0; left:0; right:0; z-index:9999; display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px; padding:10px 26px; background:rgba(20,16,36,.96); box-shadow:0 6px 24px rgba(0,0,0,.30); transform:translateY(-100%); transition:transform .3s ease; }
#ms-stickybar img{ height:34px !important; width:auto !important; }
#ms-stickybar.show{ transform:translateY(0); }
#ms-stickybar .ms-sticky-cta{ background:linear-gradient(135deg,#EE7426,#b64f11); color:#fff !important; padding:10px 22px; border-radius:999px; font-weight:700; font-size:14px; text-decoration:none; white-space:nowrap; box-shadow:0 6px 16px rgba(238,116,38,.35); transition:filter .2s; }
#ms-stickybar .ms-sticky-cta:hover{ filter:brightness(1.08); }
/* Scroll-to-top */
#ms-totop{ position:fixed; right:22px; bottom:22px; z-index:9998; width:46px; height:46px; border-radius:50%; border:none; cursor:pointer; background:rgba(238,116,38,.96); color:#fff; font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .3s, transform .3s; box-shadow:0 8px 24px rgba(0,0,0,.32); }
#ms-totop.show{ opacity:1; pointer-events:auto; transform:translateY(0); }
@media (max-width:768px){ #ms-stickybar{ padding:8px 14px; } #ms-stickybar img{ height:28px !important; } #ms-stickybar .ms-sticky-cta{ padding:8px 15px; font-size:13px; } #ms-totop{ width:42px; height:42px; right:16px; bottom:16px; } }

/* ===== Form contatti: validazione visibile + messaggi chiari ===== */
.wpcf7 input.ms-invalid, .wpcf7 textarea.ms-invalid, .wpcf7 select.ms-invalid,
.wpcf7 input.wpcf7-not-valid, .wpcf7 textarea.wpcf7-not-valid, .wpcf7 select.wpcf7-not-valid{ border-color:#c0392b !important; background:#fdecea !important; }
.wpcf7 .wpcf7-not-valid-tip{ display:block; margin-top:6px; font-weight:600; }
.wpcf7 .wpcf7-acceptance.wpcf7-not-valid{ background:transparent !important; border:none !important; }
.wpcf7-response-output{ border-width:1px !important; border-style:solid !important; font-weight:600; }
.wpcf7 form.sent .wpcf7-response-output{ border-color:#2e7d32 !important; background:#e8f5e9 !important; color:#1b5e20 !important; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output{ border-color:#c0392b !important; background:#fdecea !important; color:#8a1f14 !important; }
.wpcf7 form.submitting .wpcf7-spinner{ margin-left:10px; }
