/* Omega Service — CSS unico (generato) */
/* NOTE: ogni pagina HTML aggiunge una classe al <body> (es. page-index) per isolare gli stili specifici */

:root{
      --primary-color:#E5AB17;
      --primary-hover:#C99712;
      --shadow-mock: 0 6px 4px rgba(0,0,0,.12);

      /* fascia cards “perfetta” (opportunita.html) */
      --cards-band-h: 560px;
      --cards-band-h-m: 420px;
    }

body{
      font-family:'Inter',sans-serif;
      color:#333;
      scroll-behavior:smooth;
    }

h1,h2,h3,h4,h5{
      font-family:'Montserrat',sans-serif;
      font-weight:700;
    }

.fade-section{
      opacity:0;
      transform:translateY(70px);
      transition:all 1s cubic-bezier(.17,.67,.32,1.27);
    }

.fade-in{
      opacity:1;
      transform:translateY(0);
    }

.fade-item{
      opacity:0;
      transform:translateY(40px);
      transition:all .8s ease;
    }

.fade-item.show{
      opacity:1;
      transform:translateY(0);
    }

.fade-item:nth-child(1){ transition-delay:.1s; }

.fade-item:nth-child(2){ transition-delay:.25s; }

.fade-item:nth-child(3){ transition-delay:.4s; }

.fade-item:nth-child(4){ transition-delay:.55s; }

.fade-item:nth-child(5){ transition-delay:.7s; }

.navbar{
      padding-top:30px;
      padding-bottom:30px;
    }

.navbar-brand{
      display:flex;
      align-items:center;
    }

.navbar-brand img{
      height:24px;
      width:auto;
      display:block;
    }

.navbar-nav .nav-link{
      font-family:'Montserrat',sans-serif;
      font-weight:600;
      font-size:1rem;
      letter-spacing:-0.3px;
      color:#1f1f1f;
      padding:.65rem .95rem;
      transition:color .2s ease;
    }

.navbar-nav .nav-link:hover{ color:var(--primary-color); }

.navbar-nav .nav-link.active,
    .navbar-nav .nav-link[aria-current="page"]{
      color:var(--primary-color) !important;
    }

.btn{
      font-family:'Montserrat',sans-serif;
      font-weight:700;
      letter-spacing:.02em;
    }

.btn-primary-custom{
      background:var(--primary-color);
      border:none;
      color:#fff;
      padding:12px 26px;
      border-radius:40px;
      font-size:.875rem;
      box-shadow: var(--shadow-mock);
      transition:all .25s ease;
    }

.btn-primary-custom:hover{
      background:var(--primary-hover);
      color:#fff;
      transform:translateY(-2px);
      box-shadow: 0 8px 8px rgba(0,0,0,.16);
    }

.btn-header-outline{
      background: #FFF !important;
      color: var(--primary-color) !important;
      border: 2px solid var(--primary-color);
      padding: 9px 20px;
      border-radius: 40px;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: .875rem;
      letter-spacing: .02em;
      box-shadow: 0 6px 4px rgba(0, 0, 0, .12);
      transition: transform .2s ease, background-color .2s ease, color .2s ease;
      display: inline-block;
      line-height: normal;
      text-decoration: none;
    }

.btn-header-outline:hover{
      background: var(--primary-color) !important;
      color:#fff !important;
      transform: translateY(-2px);
      box-shadow: 0 8px 8px rgba(0,0,0,.16);
    }

.divider-vertical{
      border-left:2px dashed rgba(255,255,255,.6);
      height:100%;
    }

footer{ padding:70px 0; }

.map img{
      width:100%;
      border-radius:12px;
    }

.footer-logo{
      height:42px;
      width:auto;
      display:block;
    }

.footer-italic{ font-style: italic; }

@media(max-width:768px){
.navbar{
        padding-top:20px;
        padding-bottom:20px;
      }
section .container,
      footer .container,
      .features,
      .section-yellow{
        text-align:center;
      }
.offcanvas .offcanvas-body,
      .offcanvas .navbar-nav{
        text-align:center;
      }
section ul{
        padding-left:0;
        list-style-position:inside;
        margin-left:0;
        margin-right:0;
      }
section .btn,
      footer .btn,
      .offcanvas .btn{
        display:inline-block;
        margin-left:auto;
        margin-right:auto;
      }
.offcanvas .btn-header-outline{
        width:100%;
        text-align:center;
      }
.divider-vertical{ display:none; }
.footer-logo{
        margin-left:auto;
        margin-right:auto;
        margin-bottom:12px;
      }
.footer-italic{ text-align:center; }
} /* <-- FIX: qui era "}}" */


/* =====================================================================
   STILI SPECIFICI — index.html (body.page-index)
   ===================================================================== */

/* testo descrizione Omega in corsivo */
body.page-index .omega-italic{ font-style: italic; }
/* Titoli sezione Features arancioni come nel mock */
body.page-index .features h5{ color: var(--primary-color); }
/* ===============================
       HERO (NO ANIMAZIONE)
    =============================== */
body.page-index .hero{
      position:relative;
      background:url("img/home_hero.jpg") center center / cover no-repeat;
      color:#fff;
      min-height:560px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
body.page-index .hero-overlay{
      position:absolute;
      inset:0;
      background: linear-gradient(
        to right,
        rgba(0,0,0,.75) 0%,
        rgba(0,0,0,.6) 40%,
        rgba(0,0,0,.45) 70%,
        rgba(0,0,0,.35) 100%
      );
    }
body.page-index .hero-content{
      position:relative;
      z-index:2;
      padding-top:110px;
      padding-bottom:30px;
    }
body.page-index .hero h1{
      font-size:clamp(2.8rem,4.5vw,3.8rem);
      line-height:1.05;
      font-weight:800;
      margin-bottom:18px;
    }
body.page-index .hero p{
      font-size:1.05rem;
      line-height:1.75;
      margin-bottom:14px;
    }
body.page-index .hero-bottom{
      position:relative;
      z-index:2;
      padding-bottom:36px;
      font-size:.95rem;
      opacity:.95;
      font-style: italic;
    }
/* ===============================
       FASCIA AZIENDE
    =============================== */
body.page-index .business-strip{
      background:#202020;
      color:#fff;
      padding:30px 0;
    }
body.page-index .business-strip-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:30px;
    }
body.page-index .business-strip-copy{
      border-left:4px solid var(--primary-color);
      padding-left:22px;
      max-width:820px;
    }
body.page-index .business-strip-kicker{
      display:block;
      color:var(--primary-color);
      font-family:'Montserrat',sans-serif;
      font-size:.78rem;
      font-weight:800;
      letter-spacing:0;
      text-transform:uppercase;
      margin-bottom:6px;
    }
body.page-index .business-strip h2{
      font-size:clamp(1.15rem,2vw,1.45rem);
      line-height:1.25;
      margin-bottom:6px;
    }
body.page-index .business-strip p{
      margin:0;
      line-height:1.55;
      color:rgba(255,255,255,.86);
    }
body.page-index .business-strip-cta{
      flex:0 0 auto;
      white-space:nowrap;
    }
/* ===============================
       FASCIA RICERCHE AZIENDE
    =============================== */
body.page-index .company-search-strip{
      background:#f4f4f4;
      color:#202020;
      padding:26px 0;
      border-bottom:1px solid rgba(0,0,0,.07);
    }
body.page-index .company-search-strip-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
body.page-index .company-search-strip-copy{
      max-width:780px;
    }
body.page-index .company-search-strip-kicker{
      display:block;
      color:var(--primary-color);
      font-family:'Montserrat',sans-serif;
      font-size:.78rem;
      font-weight:800;
      text-transform:uppercase;
      margin-bottom:5px;
    }
body.page-index .company-search-strip h2{
      margin:0 0 5px;
      font-size:clamp(1.08rem,1.7vw,1.32rem);
      line-height:1.28;
      color:#202020;
    }
body.page-index .company-search-strip p{
      margin:0;
      color:#555;
      line-height:1.55;
      font-size:.96rem;
    }
body.page-index .company-search-strip-number{
      flex:0 0 auto;
      min-width:190px;
      border-left:4px solid var(--primary-color);
      padding-left:22px;
      text-align:left;
    }
body.page-index .company-search-strip-number strong{
      display:block;
      font-family:'Montserrat',sans-serif;
      font-size:clamp(2.2rem,4vw,3.5rem);
      line-height:.95;
      font-weight:800;
      color:var(--primary-color);
    }
body.page-index .company-search-strip-number span{
      display:block;
      margin-top:8px;
      font-family:'Montserrat',sans-serif;
      font-size:.82rem;
      font-weight:800;
      color:#202020;
      text-transform:uppercase;
    }
/* ===============================
       SEZIONE GIALLA
    =============================== */
body.page-index .section-yellow{
      background:var(--primary-color);
      color:#fff;
      padding:90px 0;
    }
/* ===============================
       FEATURES
    =============================== */
body.page-index .features{
      background:#f4f4f4;
      padding:80px 0;
      text-align:center;
    }
body.page-index .feature-item{
      transition:transform .4s ease;
    }
body.page-index .feature-item:hover{
      transform:translateY(-8px);
    }
body.page-index .feature-item img{
      width:84px;
      height:auto;
      margin-bottom:18px;
      display:block;
      margin-left:auto;
      margin-right:auto;
    }
/* ===============================
       SERVICES (PARALLAX)
    =============================== */
body.page-index .services{
      position:relative;
      background:url("img/sfondo_servizi.jpg") center center / cover fixed no-repeat;
      padding:110px 0;
      color:#fff;
    }
body.page-index .services-overlay{
      position:absolute;
      inset:0;
      background:rgba(0,0,0,.65);
    }
body.page-index .services-content{
      position:relative;
      z-index:2;
    }
/* ===============================
       RESPONSIVE / MOBILE
    =============================== */
@media(max-width:768px){
body.page-index .navbar{
        padding-top:20px;
        padding-bottom:20px;
      }
body.page-index section .container, body.page-index footer .container, body.page-index .features, body.page-index .section-yellow{
        text-align:center;
      }
body.page-index .offcanvas .offcanvas-body, body.page-index .offcanvas .navbar-nav{
        text-align:center;
      }
body.page-index section ul{
        padding-left:0;
        list-style-position:inside;
        margin-left:0;
        margin-right:0;
      }
body.page-index section .btn, body.page-index footer .btn, body.page-index .offcanvas .btn{
        display:inline-block;
        margin-left:auto;
        margin-right:auto;
      }
/* bottone "Accedi / Registrati" piena larghezza solo in offcanvas */
body.page-index .offcanvas .btn-header-outline{
        width:100%;
        text-align:center;
      }
body.page-index .hero{ min-height:480px; }
body.page-index .hero-content{
        padding-top:90px;
        text-align:center;
      }
body.page-index .hero h1{ font-size:2.2rem; }
body.page-index .hero p{
        font-size:1rem;
        line-height:1.7;
        margin-bottom:12px;
      }
body.page-index .hero-bottom{
        text-align:center;
        padding-bottom:26px;
        font-size:.9rem;
      }
body.page-index .hero-overlay{ background:rgba(0,0,0,.65); }
body.page-index .business-strip{ padding:28px 0; }
body.page-index .business-strip-inner{
        flex-direction:column;
        text-align:center;
        gap:18px;
      }
body.page-index .business-strip-copy{
        border-left:0;
        padding-left:0;
        max-width:100%;
      }
body.page-index .business-strip h2{ font-size:1.22rem; }
body.page-index .business-strip-cta{ white-space:normal; }
body.page-index .company-search-strip{
        padding:24px 0;
      }
body.page-index .company-search-strip-inner{
        flex-direction:column;
        text-align:center;
        gap:18px;
      }
body.page-index .company-search-strip-copy{
        max-width:100%;
      }
body.page-index .company-search-strip-number{
        min-width:0;
        border-left:0;
        border-top:4px solid var(--primary-color);
        padding-left:0;
        padding-top:14px;
        text-align:center;
      }
body.page-index .services{
        background-attachment:scroll;
        background-position:center;
        padding:90px 0;
      }
body.page-index .divider-vertical{ display:none; }
body.page-index .footer-logo{
        margin-left:auto;
        margin-right:auto;
        margin-bottom:12px;
      }
body.page-index .footer-italic{ text-align:center; }
}


/* =====================================================================
   STILI SPECIFICI — servizi.html (body.page-servizi)
   ===================================================================== */

body.page-servizi .page-hero{
      position:relative;
      background:url("img/hero_servizi.jpg") center center / cover no-repeat;
      min-height:220px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      text-align:center;
    }
body.page-servizi .page-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:rgba(0,0,0,.55);
    }
body.page-servizi .page-hero h1{
      position:relative;
      z-index:1;
      font-weight:800;
      letter-spacing:.06em;
      font-size:2rem;
      margin:0;
    }
body.page-servizi .section-intro{
      padding:70px 0 40px;
    }
body.page-servizi .section-intro h2{
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight:800;
      line-height:1.05;
      margin-bottom:12px;
    }
body.page-servizi .section-intro p{
      margin-bottom:10px;
      line-height:1.6;
    }
body.page-servizi .section-intro .sub{
      font-size:.95rem;
      color:#444;
    }
body.page-servizi .section-intro .sub b{ font-weight:800; }
body.page-servizi .features{
      padding:30px 0 70px;
      text-align:center;
    }
body.page-servizi .feature-card{
      padding:10px 12px;
    }
body.page-servizi .feature-card img{
      width:84px;
      height:auto;
      display:block;
      margin:0 auto 16px;
    }
body.page-servizi .feature-card h5{
      color:var(--primary-color);
      font-weight:800;
      margin-bottom:10px;
    }
body.page-servizi .feature-card p{
      font-size:.95rem;
      line-height:1.55;
      margin:0 auto;
      max-width:30ch;
      color:#444;
    }
body.page-servizi .section-highlight{
      background:var(--primary-color);
      color:#fff;
      padding:70px 0;
    }
body.page-servizi .section-highlight h2{
      font-size: clamp(2rem, 3.6vw, 3rem);
      font-weight:800;
      line-height:1.05;
      margin-bottom:14px;
    }
body.page-servizi .section-highlight p{
      line-height:1.6;
      margin-bottom:22px;
      opacity:.95;
    }
body.page-servizi .check-list{
      list-style:none;
      padding:0;
      margin:0;
      display:flex;
      flex-direction:column;
      gap:18px;
    }
body.page-servizi .check-list li{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
body.page-servizi .check-list .check-ic{
      width:26px;
      height:26px;
      flex:0 0 26px;
      margin-top:2px;
    }
body.page-servizi .check-list b{
      display:block;
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      margin-bottom:2px;
    }
body.page-servizi .check-list small{
      display:block;
      opacity:.95;
      line-height:1.45;
    }
body.page-servizi .highlight-img{
      border-radius:10px;
      width:100%;
      height:auto;
      box-shadow:0 10px 25px rgba(0,0,0,.18);
      display:block;
    }
body.page-servizi .section-partner{
      padding:80px 0 90px;
    }
body.page-servizi .section-partner h2{
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight:800;
      margin-bottom:10px;
    }
body.page-servizi .section-partner p{
      line-height:1.6;
      margin-bottom:8px;
      color:#444;
    }
body.page-servizi .form-title{
      margin-top:22px;
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      font-size:1rem;
      color:#111;
    }
body.page-servizi .omega-form .form-control{
      border:1px solid rgba(229,171,23,.65);
      border-radius:8px;
      padding:12px 12px;
      font-size:.95rem;
      box-shadow:none;
    }
body.page-servizi .omega-form .form-control:focus{
      border-color: var(--primary-color);
      box-shadow: 0 0 0 .2rem rgba(229,171,23,.18);
    }
body.page-servizi .omega-form textarea{
      min-height:220px;
      resize:vertical;
    }
body.page-servizi .privacy-row{
      margin-top:10px;
      font-size:.95rem;
      color:#444;
    }
body.page-servizi .section-divider{
      border-top:1px solid rgba(0,0,0,.08);
    }
@media(max-width:768px){
body.page-servizi .offcanvas .btn-header-outline{
        width: 100%;
        text-align: center;
      }
body.page-servizi .check-list .check-ic{
        display: none;
      }
body.page-servizi .privacy-row{
        text-align: left;
        display: flex;
        justify-content: flex-start;
      }
body.page-servizi .navbar{
        padding-top:20px;
        padding-bottom:20px;
      }
body.page-servizi section .container, body.page-servizi footer .container{
        text-align:center;
      }
body.page-servizi .offcanvas .offcanvas-body, body.page-servizi .offcanvas .navbar-nav{
        text-align:center;
      }
body.page-servizi section .btn, body.page-servizi footer .btn, body.page-servizi .offcanvas .btn{
        display:inline-block;
        margin-left:auto;
        margin-right:auto;
      }
body.page-servizi section ul{
        padding-left:0;
        list-style-position:inside;
      }
body.page-servizi .page-hero{ min-height:190px; }
body.page-servizi .page-hero h1{ font-size:1.8rem; }
body.page-servizi .section-highlight{ padding:60px 0; }
body.page-servizi .footer-logo{
        margin-left:auto;
        margin-right:auto;
        margin-bottom:12px;
      }
body.page-servizi .footer-italic{ text-align:center; }
}


/* =====================================================================
   STILI SPECIFICI — opportunita.html (body.page-opportunita)
   ===================================================================== */

body.page-opportunita .page-hero{
      position:relative;
      background:url("img/hero_opportunita.jpg") center center / cover no-repeat;
      min-height:220px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      text-align:center;
    }
body.page-opportunita .page-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:rgba(0,0,0,.55);
    }
body.page-opportunita .page-hero h1{
      position:relative;
      z-index:1;
      font-weight:800;
      letter-spacing:.06em;
      font-size:2rem;
      margin:0;
      text-transform:uppercase;
    }
body.page-opportunita .section-banner{
      background:var(--primary-color);
      color:#fff;
      padding:70px 0;
    }
body.page-opportunita .section-banner h2{
      font-size: clamp(2rem, 3.8vw, 3rem);
      font-weight:800;
      line-height:1.05;
      margin-bottom:14px;
    }
body.page-opportunita .section-banner p{
      line-height:1.6;
      margin-bottom:10px;
      opacity:.95;
    }
body.page-opportunita .section-banner p b{ font-weight:800; }
body.page-opportunita .section-cards{
      padding: 0 !important;
      margin: 0 !important;
    }
body.page-opportunita .section-cards .container-fluid{
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
body.page-opportunita .section-cards .row{
      --bs-gutter-x: 0;
      --bs-gutter-y: 0;
      margin: 0 !important;

      height: var(--cards-band-h);
      align-items: stretch;
    }
body.page-opportunita .section-cards [class*="col-"]{
      padding: 0 !important;
      height: 100%;
    }
body.page-opportunita .cards-panel{
      position: relative;
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;

      display: flex;
      align-items: center;
      justify-content: center;

      padding: 0;
    }
body.page-opportunita .cards-panel::before{
      content:"";
      position:absolute;
      inset:0;
      background: rgba(0,0,0,.45);
    }
body.page-opportunita .cards-panel .info-card{
      position: relative;
      z-index: 2;

      background:#fff;
      color:#222;
      border-radius:14px;
      padding:28px 24px;
      box-shadow:0 12px 28px rgba(0,0,0,.18);
      text-align:center;
      width: min(320px, 86%);
    }
body.page-opportunita .cards-panel .info-card h5{
      color: var(--primary-color);
      font-weight: 800;
      margin-bottom: 10px;
    }
body.page-opportunita .cards-panel .info-card p{
      font-style: italic;
      margin: 0;
      line-height: 1.55;
      color: #444;
      font-size: .98rem;
    }
body.page-opportunita .card-bg-1{ background-image:url("img/opportunita_01.jpg"); }
body.page-opportunita .card-bg-2{ background-image:url("img/opportunita_02.jpg"); }
body.page-opportunita .card-bg-3{ background-image:url("img/opportunita_03.jpg"); }
body.page-opportunita .section-cta{
      padding:90px 0 40px;
    }
body.page-opportunita .section-cta h2{
      font-size: clamp(2.2rem, 4vw, 3.2rem);
      font-weight:800;
      line-height:1.05;
      margin-bottom:14px;
    }
body.page-opportunita .section-cta .sub{
      color:#444;
      line-height:1.6;
      margin-bottom:18px;
    }
body.page-opportunita .section-cta .sub b{ font-weight:800; }
body.page-opportunita .divider-line{
      border-top:1px solid rgba(0,0,0,.12);
      margin:60px 0 0;
    }
@media(max-width:768px){
body.page-opportunita .offcanvas .btn-header-outline{
        width: 100%;
        text-align: center;
      }
body.page-opportunita .navbar{
        padding-top:20px;
        padding-bottom:20px;
      }
body.page-opportunita section .container, body.page-opportunita footer .container{
        text-align:center;
      }
body.page-opportunita .offcanvas .offcanvas-body, body.page-opportunita .offcanvas .navbar-nav{
        text-align:center;
      }
body.page-opportunita section .btn, body.page-opportunita footer .btn, body.page-opportunita .offcanvas .btn{
        display:inline-block;
        margin-left:auto;
        margin-right:auto;
      }
body.page-opportunita .page-hero{ min-height:220px; }
body.page-opportunita .page-hero h1{ font-size:1.7rem; }
body.page-opportunita .section-banner{ padding:55px 0; }
body.page-opportunita .section-cards .row{
        height: auto;
      }
body.page-opportunita .section-cards [class*="col-"]{
        height: auto;
      }
body.page-opportunita .cards-panel{
        height: var(--cards-band-h-m);
      }
body.page-opportunita .footer-logo{
        margin-left:auto;
        margin-right:auto;
        margin-bottom:12px;
      }
body.page-opportunita .footer-italic{ text-align:center; }
}


/* =====================================================================
   STILI SPECIFICI - come_funziona.php (body.page-come-funziona)
   ===================================================================== */

body.page-come-funziona{
  background:#fff;
  color:#202124;
}

body.page-come-funziona .how-hero{
  position:relative;
  min-height:250px;
  display:flex;
  align-items:center;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 78% 10%, rgba(229,171,23,.22), transparent 28%),
    linear-gradient(135deg, #101827 0%, #151515 62%, #231b18 100%);
}

body.page-come-funziona .how-hero .container{
  position:relative;
  z-index:1;
}

body.page-come-funziona .how-eyebrow{
  margin:0 0 8px;
  color:rgba(255,255,255,.76);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

body.page-come-funziona .how-hero h1{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(2rem, 4vw, 3.6rem);
  font-weight:800;
  line-height:1.02;
}

body.page-come-funziona .how-hero h1 .how-accent{
  color:var(--primary-color);
}

body.page-come-funziona .how-subtitle{
  margin:14px auto 0;
  max-width:720px;
  color:rgba(255,255,255,.82);
  font-size:1.02rem;
}

body.page-come-funziona .how-intro{
  padding:76px 0 34px;
}

body.page-come-funziona .how-intro h2{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:clamp(1.8rem, 3vw, 2.7rem);
  margin-bottom:14px;
}

body.page-come-funziona .how-intro p{
  margin:0 auto;
  max-width:780px;
  color:#555;
  line-height:1.7;
  font-size:1.04rem;
}

body.page-come-funziona .how-flow{
  padding:42px 0 92px;
}

body.page-come-funziona .how-column{
  height:100%;
}

body.page-come-funziona .how-column-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:28px;
}

body.page-come-funziona .how-head-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}

body.page-come-funziona .how-column-candidates .how-head-icon,
body.page-come-funziona .how-column-candidates .how-marker{
  background:#2369ef;
}

body.page-come-funziona .how-column-companies .how-head-icon,
body.page-come-funziona .how-column-companies .how-marker{
  background:var(--primary-color);
}

body.page-come-funziona .how-column-head h2{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.35rem;
}

body.page-come-funziona .how-head-icon-c::before{
  content:"C";
}

body.page-come-funziona .how-head-icon-a::before{
  content:"A";
}

body.page-come-funziona .how-timeline{
  position:relative;
  display:grid;
  gap:28px;
}

body.page-come-funziona .how-timeline::before{
  content:"";
  position:absolute;
  top:18px;
  bottom:18px;
  left:20px;
  width:1px;
  background:rgba(0,0,0,.12);
}

body.page-come-funziona .how-step{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  gap:18px;
  align-items:start;
}

body.page-come-funziona .how-marker{
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:2;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.8rem;
  font-weight:800;
  box-shadow:0 12px 24px rgba(0,0,0,.13);
}

body.page-come-funziona .how-marker .how-icon{
  display:block;
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.page-come-funziona .how-step-body{
  padding-top:1px;
}

body.page-come-funziona .how-step-body span{
  display:block;
  color:#8b8b8b;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:5px;
}

body.page-come-funziona .how-step-body h3{
  margin:0 0 7px;
  font-family:'Montserrat',sans-serif;
  font-size:1.02rem;
  font-weight:800;
  color:#171717;
}

body.page-come-funziona .how-step-body p{
  margin:0;
  color:#555;
  line-height:1.6;
  font-size:.95rem;
}

body.page-come-funziona .section-divider{
  border-top:1px solid rgba(0,0,0,.08);
}

@media(max-width:991px){
  body.page-come-funziona .how-flow{
    padding-top:24px;
  }
}

@media(max-width:768px){
  body.page-come-funziona .navbar{
    padding-top:20px;
    padding-bottom:20px;
  }

  body.page-come-funziona .offcanvas .btn-header-outline{
    width:100%;
    text-align:center;
  }

  body.page-come-funziona section .container,
  body.page-come-funziona footer .container{
    text-align:left;
  }

  body.page-come-funziona .how-hero{
    min-height:230px;
  }

  body.page-come-funziona .how-intro{
    padding:58px 0 28px;
  }

  body.page-come-funziona .how-flow{
    padding-bottom:68px;
  }

body.page-come-funziona .how-column-head{
    margin-bottom:22px;
  }
}


/* =====================================================================
   STILI SPECIFICI - regolamento.php (body.page-regolamento)
   ===================================================================== */

body.page-regolamento{
  background:#fff;
  color:#202124;
}

body.page-regolamento .rules-hero{
  position:relative;
  min-height:250px;
  display:flex;
  align-items:center;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 78% 10%, rgba(229,171,23,.18), transparent 28%),
    linear-gradient(135deg, #101827 0%, #151515 62%, #231b18 100%);
}

body.page-regolamento .rules-hero h1{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(2.3rem, 4.5vw, 4rem);
  font-weight:800;
  line-height:1.02;
}

body.page-regolamento .rules-subtitle{
  margin:14px auto 0;
  max-width:720px;
  color:rgba(255,255,255,.82);
  font-size:1.02rem;
}

body.page-regolamento .rules-section{
  padding:76px 0 88px;
}

body.page-regolamento .rules-content{
  width:min(860px, 100%);
  margin:0 auto;
}

body.page-regolamento .rule-item{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid rgba(0,0,0,.09);
}

body.page-regolamento .rule-item h2{
  margin:0 0 14px;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.08rem, 2vw, 1.38rem);
  font-weight:800;
  line-height:1.3;
  color:#1d2430;
}

body.page-regolamento .rule-item p{
  margin:0;
  color:#5c626d;
  line-height:1.75;
  font-size:1rem;
}

body.page-regolamento .rules-update-box{
  margin-top:44px;
  padding:22px 24px;
  border:1px solid rgba(35,105,239,.16);
  border-radius:16px;
  background:#f4f7ff;
  color:#3b4657;
}

body.page-regolamento .rules-update-box strong{
  display:block;
  margin-bottom:8px;
  font-family:'Montserrat',sans-serif;
  color:#1d2430;
  font-weight:800;
}

body.page-regolamento .rules-update-box p{
  margin:0;
  color:#5c626d;
  line-height:1.6;
}

body.page-regolamento .rules-update-box a{
  color:#2369ef;
  font-weight:800;
  text-decoration:none;
}

body.page-regolamento .section-divider{
  border-top:1px solid rgba(0,0,0,.08);
}

@media(max-width:768px){
  body.page-regolamento .navbar{
    padding-top:20px;
    padding-bottom:20px;
  }

  body.page-regolamento .offcanvas .btn-header-outline{
    width:100%;
    text-align:center;
  }

  body.page-regolamento .rules-hero{
    min-height:230px;
  }

  body.page-regolamento .rules-section{
    padding:56px 0 68px;
  }

  body.page-regolamento .rule-item{
    padding-bottom:28px;
    margin-bottom:28px;
  }
}

/* =====================================================================
   Prova uniformazione grafica - Come funziona + Regolamento
   ===================================================================== */

body.page-come-funziona,
body.page-regolamento{
  background:#f4f4f4;
}

body.page-come-funziona .how-hero,
body.page-regolamento .rules-hero{
  min-height:230px;
  overflow:hidden;
}

body.page-come-funziona .how-hero{
  background:
    url("img/hero_come_funziona.jpg") center center / cover no-repeat;
}

body.page-regolamento .rules-hero{
  background:
    url("img/hero_regolamento.jpg") center center / cover no-repeat;
}

body.page-come-funziona .how-hero::before,
body.page-regolamento .rules-hero::before{
  content:none;
}

body.page-come-funziona .how-hero::after,
body.page-regolamento .rules-hero::after{
  content:none;
  position:absolute;
  top:0;
  right:0;
  width:38%;
  height:100%;
  background:linear-gradient(110deg, transparent 0%, rgba(229,171,23,.18) 100%);
  pointer-events:none;
}

body.page-come-funziona .how-hero .container,
body.page-regolamento .rules-hero .container{
  position:relative;
  z-index:1;
}

body.page-come-funziona .how-hero h1,
body.page-regolamento .rules-hero h1{
  font-size:clamp(2.25rem, 4vw, 3.6rem);
  letter-spacing:0;
}

body.page-come-funziona .how-hero h1 .how-accent{
  color:var(--primary-color);
}

body.page-come-funziona .how-subtitle,
body.page-regolamento .rules-subtitle{
  color:rgba(255,255,255,.88);
  font-style:italic;
}

body.page-come-funziona .how-intro{
  padding:54px 0 26px;
  background:#fff;
}

body.page-come-funziona .how-intro h2{
  font-size:clamp(1.65rem, 3vw, 2.35rem);
}

body.page-come-funziona .how-intro p{
  color:#444;
}

body.page-come-funziona .how-flow{
  padding:54px 0 78px;
  background:#f4f4f4;
}

body.page-come-funziona .how-column{
  background:#fff;
  border-radius:8px;
  padding:30px 28px;
  box-shadow:0 12px 24px rgba(0,0,0,.06);
  border-top:5px solid var(--primary-color);
}

body.page-come-funziona .how-column-head{
  margin-bottom:26px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(0,0,0,.08);
}

body.page-come-funziona .how-column-head h2{
  font-size:1.42rem;
  color:#202020;
}

body.page-come-funziona .how-column-candidates .how-marker,
body.page-come-funziona .how-column-companies .how-marker{
  background:var(--primary-color);
  color:#fff;
  box-shadow:none;
}

body.page-come-funziona .how-timeline::before{
  background:rgba(229,171,23,.55);
}

body.page-come-funziona .how-step{
  gap:20px;
}

body.page-come-funziona .how-step-body span{
  color:var(--primary-color);
  letter-spacing:0;
}

body.page-come-funziona .how-step-body h3{
  color:#202020;
}

body.page-come-funziona .how-step-body p{
  color:#4f4f4f;
}

body.page-come-funziona footer{
  background:#fff;
}

body.page-regolamento .rules-section{
  padding:64px 0 82px;
  background:#f4f4f4;
}

body.page-regolamento .rules-content{
  width:min(920px, 100%);
}

body.page-regolamento .rule-item{
  position:relative;
  margin:0 0 18px;
  padding:24px 26px 24px 30px;
  border:0;
  border-left:5px solid var(--primary-color);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.055);
}

body.page-regolamento .rule-item h2{
  margin-bottom:10px;
  color:#202020;
  font-size:clamp(1.04rem, 1.8vw, 1.28rem);
}

body.page-regolamento .rule-item p{
  color:#4f4f4f;
  line-height:1.68;
}

body.page-regolamento .rules-update-box{
  position:relative;
  margin-top:26px;
  padding:24px 28px 24px 34px;
  border:0;
  border-radius:8px;
  background:var(--primary-color);
  color:#fff;
  box-shadow:0 14px 28px rgba(229,171,23,.22);
  overflow:hidden;
}

body.page-regolamento .rules-update-box::before{
  content:none;
}

body.page-regolamento .rules-update-box strong{
  color:#fff;
  margin-bottom:7px;
}

body.page-regolamento .rules-update-box p{
  color:#fff;
}

body.page-regolamento .rules-update-box a{
  color:#fff;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

body.page-regolamento footer{
  background:#fff;
}

@media(max-width:991px){
  body.page-come-funziona .how-column{
    padding:26px 22px;
  }
}

@media(max-width:768px){
  body.page-come-funziona .how-hero,
  body.page-regolamento .rules-hero{
    min-height:215px;
  }

  body.page-come-funziona .how-hero::after,
  body.page-regolamento .rules-hero::after{
    width:70%;
  }

  body.page-come-funziona .how-flow,
  body.page-regolamento .rules-section{
    padding:42px 0 58px;
  }

  body.page-regolamento .rule-item{
    padding:22px 20px;
  }

  body.page-regolamento .rules-update-box{
    padding:22px 20px 22px 26px;
  }
}


/* =====================================================================
   STILI SPECIFICI — contatti.html (body.page-contatti)
   ===================================================================== */

/* ... (TUTTO IL TUO CSS RESTA INVARIATO) ... */


/* =========================
   Profilo candidato (dashboard vuota)
   ========================= */
body.page-profilo-candidato{
  background:#fff;
}

/* icona utente in header */
.btn-header-icon{
  width:44px;
  height:44px;
  border-radius:999px;
  border:2px solid var(--primary-color);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  box-shadow: var(--shadow-mock);
  text-decoration:none;
  overflow:hidden;
  padding:0;
}

.btn-header-icon svg{
  width:20px;
  height:20px;
  fill: var(--primary-color);
}
.btn-header-icon img{
  width:100%;
  height:100%;
  border-radius:999px;
  object-fit:cover;
  display:block;
}


/* =========================
   ACCOUNT DROPDOWN (menu utente dopo login) — GLOBALE
   ========================= */
.account-dd{
  position: relative;
  display: inline-flex;
  align-items: center;
}

.account-dd .account-toggle{
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

/* menu come JPG */
.account-menu{
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 190px;
  background: #F4A000;
  border-radius: 18px;
  padding: 14px 14px;
  box-shadow: 0 14px 24px rgba(0,0,0,.20);
  display: none;
  z-index: 9999;
}

.account-menu.is-open{ display: block; }

.account-menu a{
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
  padding: 8px 6px;
  border-radius: 12px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.2;
}

.account-menu a:hover{
  background: rgba(255,255,255,.14);
}

.account-menu .dd-ic{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
}

/* IMPORTANT: deve vincere su .btn-header-icon svg */
.account-menu svg{
  width: 18px;
  height: 18px;
  fill: #fff;
  display: block;
}

/* layout */
body.page-profilo-candidato .dash-wrap{
  padding:34px 0 90px;
}
body.page-profilo-candidato .dash-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.55rem;
  margin:0 0 6px;
}
body.page-profilo-candidato .dash-sub{
  margin:0 0 14px;
  color:#333;
  font-style:italic;
}
body.page-profilo-candidato .dash-divider{
  height:2px;
  background:var(--primary-color);
  width:100%;
  opacity:.75;
  margin:10px 0 18px;
}

/* cards */
body.page-profilo-candidato .dash-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow: 0 10px 18px rgba(0,0,0,.10);
}
body.page-profilo-candidato .dash-card-inner{
  padding:18px 18px;
}
body.page-profilo-candidato .progress-mini{
  height:8px;
  border-radius:99px;
  background:#E9E9E9;
  overflow:hidden;
  margin:10px 0 12px;
}
body.page-profilo-candidato .progress-mini span{
  display:block;
  height:100%;
  width:0%;
  background:var(--primary-color);
}

body.page-profilo-candidato .dash-list{
  list-style:none;
  padding:0;
  margin:0;
}
body.page-profilo-candidato .dash-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-top:1px solid rgba(0,0,0,.08);
}


body.page-profilo-candidato .dash-item:first-child{
  border-top:none;
}
body.page-profilo-candidato .dash-item-left{
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex:1 1 auto;
  min-width:0;
}


body.page-profilo-candidato .dash-ic{
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--primary-color);
  flex:0 0 28px;
}
body.page-profilo-candidato .dash-ic svg{
  width:16px;
  height:16px;
  fill:#fff;
}
body.page-profilo-candidato .dash-item-title{
  font-weight:700;
  color:#C25100;
  line-height:1.1;
  min-width:0;
}

/* Titolo sempre su una riga (ellipsis) */
body.page-profilo-candidato .dash-item-title .dash-title-text{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}

/* "(obbligatorio)" SOLO su questa pagina deve andare a capo */
body.page-profilo-candidato .dash-item-title .obbl{
  display:block;
  font-weight:600;
  font-size:.78rem;
  color:#C25100;
  font-style:italic;
  margin:4px 0 0 0;
}

/* Sezione completata al 100%: titolo + "(obbligatorio)" verdi */
body.page-profilo-candidato .dash-item.is-complete .dash-item-title,
body.page-profilo-candidato .dash-item.is-complete .dash-item-title .dash-title-text,
body.page-profilo-candidato .dash-item.is-complete .dash-item-title .obbl{
  color:#1F8A3B;
}


body.page-profilo-candidato .dash-item-title.normal{
  color:#C25100;
}
body.page-profilo-candidato .dash-cross{
  width:26px;
  height:26px;
  border-radius:999px;
  border:2px solid #B30000;
  color:#B30000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  line-height:1;
  flex:0 0 26px;
}
body.page-profilo-candidato .dash-item-title.italic{
  font-style:italic;
}

/* messaggi */
body.page-profilo-candidato .msg-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body.page-profilo-candidato .msg-left{
  display:flex;
  align-items:center;
  gap:12px;
}
body.page-profilo-candidato .msg-title{
  font-weight:800;
  margin:0;
}
body.page-profilo-candidato .msg-sub{
  margin:0;
  font-size:.85rem;
  color:#555;
}
body.page-profilo-candidato .msg-badge{
  font-weight:800;
}

/* card “cosa hanno cercato” */
body.page-profilo-candidato .stats-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.25rem;
  text-align:center;
  margin:0;
}
body.page-profilo-candidato .stats-divider{
  height:2px;
  background:var(--primary-color);
  width:100%;
  margin:14px 0 8px;
  opacity:.75;
}
body.page-profilo-candidato .stats-list{
  list-style:none;
  padding:0;
  margin:8px 0 0;
}
body.page-profilo-candidato .stats-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
  border-top:1px solid rgba(0,0,0,.08);
}
body.page-profilo-candidato .stats-row:first-child{ border-top:none; }
body.page-profilo-candidato .role{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}

body.page-profilo-candidato .role-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  display:inline-block;
  flex:0 0 18px;
}
body.page-profilo-candidato .role .dot{
  width:16px;
  height:16px;
  border-radius:999px;
  border:2px solid currentColor;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.page-profilo-candidato .role .dot::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:currentColor;
  display:block;
}
body.page-profilo-candidato .req{
  display:flex;
  align-items:center;
  gap:8px;
  font-style:italic;
  color:#333;
  font-size:.92rem;
  white-space:nowrap;
}

body.page-profilo-candidato .req-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  flex:0 0 18px;
}


/* main contenuto */
body.page-profilo-candidato .banner-card{
  position:relative;
  border-radius:6px;
  overflow:hidden;
  background:#000;
  height:190px;
}
body.page-profilo-candidato .banner-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.6;
  display:block;
}
body.page-profilo-candidato .banner-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  text-align:center;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:2rem;
  line-height:1.1;
}
body.page-profilo-candidato .dash-body p{
  margin:14px 0 0;
}
body.page-profilo-candidato .dash-body p strong{
  font-family:'Montserrat',sans-serif;
}
body.page-profilo-candidato .dash-cta{
  margin-top:18px;
  text-align:center;
}

/* responsive */
@media (max-width: 991px){
  body.page-profilo-candidato .dash-wrap{ padding-top:18px; }
  body.page-profilo-candidato .banner-text{ font-size:1.6rem; }
}


/* ---- Fix: Profilo candidato (CTA + riga sopra footer) ---- */
body.page-profilo-candidato .btn-primary-custom{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  letter-spacing:.02em;
  display:inline-block;
  line-height:normal;
  text-decoration:none;
}

body.page-profilo-candidato .prefooter-line{
  width:100%;
  height:2px;
  background:var(--primary-color);
  margin-top:70px;
}



/* =====================================================================
   RESTORE — PAGINA: profilo candidato (page-profilo-candidato)
   (stili base rimossi per errore: scheda profilo + dettagli + opportunità)
   ===================================================================== */
body.page-profilo-candidato .visib .dot{
  width:14px;
  height:14px;
  border-radius:50%;
  display:inline-block;
  vertical-align:middle;
  margin-left:8px;
  background:#F4A000;
}

body.page-profilo-candidato .profile-card{
  margin-top:14px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 12px 22px rgba(0,0,0,.10);
  border:1px solid rgba(0,0,0,.06);
  padding:18px 18px;
}

body.page-profilo-candidato .profile-row{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
}

body.page-profilo-candidato .avatar{
  width:96px;
  height:96px;
  border-radius:50%;
  border:4px solid #F4A000;
  overflow:hidden;
  flex:0 0 96px;
  background:#fff;
}

body.page-profilo-candidato .avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

body.page-profilo-candidato .pname{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.4rem;
  margin:0;
}

body.page-profilo-candidato .pmeta{
  margin:0;
  color:#222;
  font-weight:500;
}

body.page-profilo-candidato .pdata{
  margin-top:10px;
  color:#222;
  font-weight:600;
}

body.page-profilo-candidato .pdata span{
  font-weight:400;
}

body.page-profilo-candidato .loc{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
  color:#111;
  font-weight:700;
}

body.page-profilo-candidato .loc svg{
  width:18px;
  height:18px;
  fill:#F4A000;
}

body.page-profilo-candidato .roles-line{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

body.page-profilo-candidato .btn-outline-warm{
  border:2px solid #F4A000;
  color:#F4A000;
  background:#fff;
  border-radius:999px;
  padding:10px 18px;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}

body.page-profilo-candidato .btn-outline-warm:hover{
  background:#FFF3D6;
  color:#C27F00;
}

body.page-profilo-candidato .opp-head{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.6rem;
  margin:22px 0 10px;
}

body.page-profilo-candidato .opp-item{
  background:#F7F7F7;
  border-radius:16px;
  padding:16px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(0,0,0,.06);
  margin-bottom:12px;
}

body.page-profilo-candidato .opp-left{
  display:flex;
  align-items:center;
  gap:14px;
}

body.page-profilo-candidato .opp-badge{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#F4A000;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-family:'Montserrat',sans-serif;
  flex:0 0 40px;
}

body.page-profilo-candidato .opp-ic{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#F4A000;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
}

body.page-profilo-candidato .opp-ic svg{
  width:18px;
  height:18px;
  fill:#fff;
}

body.page-profilo-candidato .opp-text{
  font-weight:700;
}

body.page-profilo-candidato .opp-go{
  width:40px;
  height:40px;
  border-radius:50%;
  border:3px solid #F4A000;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
  text-decoration:none;
}

body.page-profilo-candidato .opp-go svg{
  width:18px;
  height:18px;
  fill:#F4A000;
}

body.page-profilo-candidato .msg-badge.green{
  color:#2E8B57;
}


/* =====================================================================
   STILI SPECIFICI — candidati.php (body.page-candidati)
   ===================================================================== */

/* HERO */
body.page-candidati .hero{
  position:relative;
  background:url("img/hero_candidati.jpg") center center / cover no-repeat;
  color:#fff;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

body.page-candidati .hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,.75) 0%,
    rgba(0,0,0,.6) 40%,
    rgba(0,0,0,.45) 70%,
    rgba(0,0,0,.35) 100%
  );
}

body.page-candidati .hero-content{
  position:relative;
  z-index:2;
  padding-top:110px;
  padding-bottom:30px;
}

body.page-candidati .hero h1{
  font-size:clamp(2.6rem,4.2vw,3.6rem);
  line-height:1.05;
  font-weight:800;
  margin-bottom:18px;
}

body.page-candidati .hero p{
  font-size:1.05rem;
  line-height:1.75;
  margin-bottom:14px;
}

body.page-candidati .hero-strong{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.05rem;
}

body.page-candidati .hero-bottom{
  position:relative;
  z-index:2;
  padding:26px 0 34px;
  font-size:.95rem;
  opacity:.95;
  font-style: italic;
}

/* RETE OMEGA (giallo) */
body.page-candidati .section-yellow{
  background:var(--primary-color);
  color:#fff;
  padding:90px 0;
}

body.page-candidati .kicker{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.95;
  margin-bottom:10px;
}

body.page-candidati .bullet-soft{
  margin-top:14px;
  padding:14px 16px;
  background: rgba(255,255,255,.10);
  border-radius: 12px;
}

body.page-candidati .bullet-soft ul{
  margin:10px 0 0;
  padding-left:18px;
}

/* DUE COLONNE */
body.page-candidati .section-two{
  padding:80px 0;
}
body.page-candidati .section-two h3{
  font-weight:800;
  margin-bottom:10px;
}
body.page-candidati .section-two p{
  line-height:1.65;
  color:#444;
}
body.page-candidati .section-divider{
  border-top:1px solid rgba(0,0,0,.08);
}

/* MOBILE */
@media(max-width:768px){
  body.page-candidati .hero{ min-height:480px; }
  body.page-candidati .hero-content{
    padding-top:90px;
    text-align:center;
  }
  body.page-candidati .hero h1{ font-size:2.2rem; }
  body.page-candidati .hero p{
    font-size:1rem;
    line-height:1.7;
    margin-bottom:12px;
  }
  body.page-candidati .hero-bottom{
    text-align:center;
    padding-bottom:26px;
    font-size:.9rem;
  }
  body.page-candidati .hero-overlay{ background:rgba(0,0,0,.65); }
}

/* =====================================================================
   STILI SPECIFICI — aziende.php (body.page-aziende)
   ===================================================================== */

/* HERO */
body.page-aziende .hero{
  position:relative;
  background:url("img/hero_aziende.jpg") center center / cover no-repeat;
  color:#fff;
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

body.page-aziende .hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,.75) 0%,
    rgba(0,0,0,.60) 45%,
    rgba(0,0,0,.45) 70%,
    rgba(0,0,0,.35) 100%
  );
}

body.page-aziende .hero-content{
  position:relative;
  z-index:2;
  padding-top:110px;
  padding-bottom:70px;
}

body.page-aziende .hero h1{
  font-size:clamp(2.2rem,4vw,3.2rem);
  line-height:1.05;
  font-weight:800;
  margin-bottom:18px;
  max-width: 22ch;
}

/* SEZIONE GIALLA */
body.page-aziende .section-yellow{
  background:var(--primary-color);
  color:#fff;
  padding:90px 0;
}

body.page-aziende .kicker{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.95;
  margin-bottom:10px;
}

/* mini checks */
body.page-aziende .mini-checks{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:18px 0 18px;
}

body.page-aziende .mini-check{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  background: rgba(255,255,255,.12);
  border-radius: 12px;
}

body.page-aziende .mini-check img{
  width:34px;
  height:auto;
  display:block;
}

body.page-aziende .mini-check span{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
}

body.page-aziende .sub-strong{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.05rem;
  margin-top:18px;
}

/* SEZIONE BIANCA */
body.page-aziende .section-white{
  padding:85px 0;
}

body.page-aziende .section-white h4{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.35rem;
  margin-bottom:12px;
}

body.page-aziende .section-white p,
body.page-aziende .section-white li{
  color:#444;
  line-height:1.65;
}

body.page-aziende .section-white ul{
  margin-top:10px;
}

body.page-aziende .closing{
  margin-top:14px;
  font-style:italic;
  color:#222;
}

/* CTA GIALLA FINALE */
body.page-aziende .section-cta-yellow{
  background:var(--primary-color);
  color:#fff;
  padding:80px 0 90px;
}

body.page-aziende .section-cta-yellow h2{
  font-size: clamp(2rem, 3.8vw, 3rem);
  font-weight:800;
  line-height:1.05;
  margin-bottom:14px;
}

body.page-aziende .section-cta-yellow .lines{
  margin-top:14px;
  padding:14px 16px;
  background: rgba(255,255,255,.10);
  border-radius: 12px;
  line-height:1.55;
}

/* MOBILE */
@media(max-width:768px){
  body.page-aziende .hero{
    min-height:480px;
  }
  body.page-aziende .hero-content{
    padding-top:90px;
    padding-bottom:50px;
    text-align:center;
  }
  body.page-aziende .hero h1{
    max-width:none;
    font-size:2.1rem;
  }
  body.page-aziende .mini-checks{
    justify-content:center;
  }
}

/* =====================================================================
   STILI SPECIFICI — contatti.php (body.page-contatti)
   ===================================================================== */

/* HERO */
body.page-contatti .page-hero{
  position:relative;
  background:url("img/hero_servizi.jpg") center center / cover no-repeat;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
}
body.page-contatti .page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
body.page-contatti .page-hero h1{
  position:relative;
  z-index:1;
  font-weight:800;
  letter-spacing:.06em;
  font-size:2rem;
  margin:0;
}

/* TEASER GIALLO */
body.page-contatti .section-teaser{
  background:var(--primary-color);
  color:#fff;
  padding:80px 0;
}
body.page-contatti .section-teaser h2{
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight:800;
  line-height:1.05;
  margin-bottom:10px;
}
body.page-contatti .section-teaser h4{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  margin-bottom:10px;
}
body.page-contatti .section-teaser p{
  line-height:1.6;
  opacity:.95;
  margin-bottom:10px;
}
body.page-contatti .teaser-img{
  width:100%;
  height:auto;
  border-radius:12px;
  display:block;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}

/* BLOCCO SERVIZI (BIANCO) */
body.page-contatti .section-service{
  padding:90px 0;
}
body.page-contatti .section-service h2{
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight:800;
  line-height:1.05;
  margin-bottom:10px;
}
body.page-contatti .section-service h4{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  margin-bottom:10px;
}
body.page-contatti .section-service p{
  color:#444;
  line-height:1.6;
  margin-bottom:10px;
}
body.page-contatti .service-img{
  width:100%;
  height:auto;
  border-radius:12px;
  display:block;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

/* CONTATTI + FORM */
body.page-contatti .section-contact{
  padding:90px 0;
  background:#f4f4f4;
}
body.page-contatti .section-contact h2{
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight:800;
  line-height:1.05;
  margin-bottom:8px;
}
body.page-contatti .section-contact h4{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  margin-bottom:12px;
}

body.page-contatti .omega-form .form-control{
  border:1px solid rgba(229,171,23,.65);
  border-radius:8px;
  padding:12px 12px;
  font-size:.95rem;
  box-shadow:none;
}
body.page-contatti .omega-form .form-control:focus{
  border-color: var(--primary-color);
  box-shadow: 0 0 0 .2rem rgba(229,171,23,.18);
}
body.page-contatti .omega-form textarea{
  min-height:220px;
  resize:vertical;
}
body.page-contatti .privacy-row{
  margin-top:10px;
  font-size:.95rem;
  color:#444;
}

/* INFO CONTATTI */
body.page-contatti .contact-info h5{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  margin-bottom:10px;
}
body.page-contatti .contact-info .item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#444;
  line-height:1.55;
}
body.page-contatti .contact-info .ic{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:block;
}

/* MAP FRAME (placeholder) */
body.page-contatti .map-frame{
  border-radius:12px;
  overflow:hidden;
  background:#e9e9e9;
  min-height:220px;
  box-shadow:0 10px 22px rgba(0,0,0,.10);
}

/* MOBILE */
@media(max-width:768px){
  body.page-contatti .page-hero{ min-height:200px; }
  body.page-contatti .page-hero h1{ font-size:1.8rem; }

  body.page-contatti .section-teaser,
  body.page-contatti .section-service,
  body.page-contatti .section-contact{
    padding:60px 0;
  }

  body.page-contatti .divider-vertical{ display:none; }

  body.page-contatti .privacy-row{
    text-align:left;
    display:flex;
    justify-content:flex-start;
  }
}

/* =========================================================
   PROFILO - AGGIORNA (layout + tabs + form + sidebar)
   ========================================================= */

.page-profilo-aggiorna { background: #fff; }

.navbar-brand img { height: 24px; width: auto; }

.update-wrap { padding: 22px 0 28px; }

.update-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding: 8px 0 14px;
  border-bottom: 2px solid rgba(244,160,0,.55);
  margin-bottom: 18px;
}

.update-title{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: 1.35rem;
}

.update-stale{
  margin-left:auto;
  text-align:right;
  font-family:'Inter',sans-serif;
  font-size:.95rem;
  color:#222;
  line-height:1.1;
}
.update-stale strong{ font-weight:800; }

.back-circle{
  width:34px; height:34px;
  border-radius:999px;
  background:#F4A000;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
}
.back-circle svg{ width:18px; height:18px; }

.pill-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding: 6px 0 2px;
}
.pill-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 18px;
  border-radius: 999px;
  background:#BDBDBD;
  color:#fff;
  text-decoration:none;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.78rem;
  letter-spacing: .02em;
  box-shadow: 0 8px 14px rgba(0,0,0,.08);
}
.pill-tab.is-active{
  background:#F4A000;
  box-shadow: 0 12px 18px rgba(0,0,0,.14);
}
.update-divider{ border-top: 1px solid rgba(0,0,0,.10); margin: 8px 0 14px; }

.suggest-card{
  background:#E0A316;
  border-radius: 10px;
  padding: 18px 18px;
  color:#fff;
  box-shadow: 0 12px 18px rgba(0,0,0,.12);
}
.suggest-head{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: 1.25rem;
  margin-bottom: 10px;
}
.suggest-ic{
  width:26px; height:26px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.suggest-ic svg{ width:16px; height:16px; fill:#fff; }
.suggest-list{ margin:0; padding-left: 18px; }
.suggest-list li{ margin: 8px 0; font-family:'Inter',sans-serif; font-weight:500; line-height:1.2; }

.progress-card{
  background:#fff;
  border-radius: 10px;
  padding: 14px 14px;
  box-shadow: 0 12px 18px rgba(0,0,0,.12);
  border: 1px solid rgba(0,0,0,.06);
}
.pc-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: 1.15rem;
  margin-bottom: 8px;
}
.pc-bar{
  height: 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.10);
  overflow:hidden;
  margin-bottom: 12px;
}
.pc-bar span{
  display:block;
  height:100%;
  background:#F4A000;
}
.pc-steps{ list-style:none; padding:0; margin:0; }
.pc-step{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 8px;
  border-radius: 10px;
}
.pc-step-ic{
  width:26px; height:26px;
  border-radius: 999px;
  background:#E0A316;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 26px;
}
.pc-step-ic svg{ width:16px; height:16px; fill:#fff; display:block; }
.pc-step-txt{
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size: .98rem;
}
.pc-step-line{
  margin-left:auto;
  width: 120px;
  height: 8px;
  border-radius: 999px;
  background: #2E8B57;
}
.pc-step-line.is-off{ background: rgba(0,0,0,.18); }

/* ---------------------------------------------------------
   PROFILO COMPLETO (sidebar) — fix layout
   - barre tutte uguali (larghezza fissa)
   - testo sempre su 1 riga (con ellissi se troppo lungo)
   --------------------------------------------------------- */
body.page-profilo-aggiorna .pc-step{
  flex-wrap: nowrap;
}

body.page-profilo-aggiorna .pc-step-txt{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0; /* necessario per ellissi dentro flex */
}

/* "Binario" della percentuale: larghezza identica per ogni riga */
body.page-profilo-aggiorna .pc-step-line-progress{
  margin-left: auto;
  flex: 0 0 120px;
  width: 120px;
  height: 6px;
  background: #D9D9D9;
  border-radius: 999px;
  overflow: hidden;
}

body.page-profilo-aggiorna .pc-step-line-progress > span{
  display: block;
  height: 100%;
  width: 0%;
  background: #2ECC71;
  border-radius: 999px;
}

/* Esperienze: azioni riga */
body.page-profilo-aggiorna .exp-row-actions{
  display: flex;
  justify-content: flex-end;
}

body.page-profilo-aggiorna .btn-remove-exp{
  border: 0;
  background: transparent;
  color: #dc3545;
  font-weight: 600;
  padding: 6px 0;
}

body.page-profilo-aggiorna .btn-remove-exp:hover{
  text-decoration: underline;
}

.update-form{ padding-right: 4px; }
.form-topnote{
  font-family:'Inter',sans-serif;
  color:#333;
  font-size:.95rem;
  margin-bottom: 14px;
}
.form-section{
  padding: 16px 18px;
  background:#F6F6F6;
  border-top: 1px solid rgba(0,0,0,.08);
}
.sec-title{
  margin:0 0 10px 0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: 1.15rem;
}
.sec-note{
  margin: -4px 0 10px 0;
  font-family:'Inter',sans-serif;
  font-size:.9rem;
  color:#333;
}
.form-label{
  font-family:'Inter',sans-serif;
  font-weight:600;
  color:#666;
  margin-bottom: 6px;
}

.omega-input{
  border: 2px solid rgba(244,160,0,.55) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.omega-input:focus{
  border-color: #F4A000 !important;
}

.omega-checklist{ display:flex; flex-direction:column; gap: 10px; }
.omega-check{
  display:flex;
  align-items:center;
  gap: 10px;
  font-family:'Inter',sans-serif;
  font-weight:500;
  color:#222;
}
.omega-check input{
  width:18px; height:18px;
  border-radius: 2px;
}

.omega-radio{
  display:flex;
  gap: 16px;
  align-items:center;
  font-family:'Inter',sans-serif;
  font-weight:500;
}
.omega-radio label{ display:flex; gap:8px; align-items:center; }
.omega-radio input{ width:16px; height:16px; }

.btn-add-exp{
  margin-top: 12px;
  background: transparent;
  border: 0;
  color:#555;
  font-family:'Inter',sans-serif;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 0;
}
.btn-add-exp .plus{
  width:24px; height:24px;
  border-radius:999px;
  background:#F4A000;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 16px rgba(0,0,0,.14);
  font-weight:800;
  line-height:1;
}

.form-actions{
  display:flex;
  justify-content:flex-end;
  padding: 18px 0 0;
}
.btn-save{
  border: 0;
  background:#F4A000;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.95rem;
  padding: 12px 18px;
  border-radius: 999px;
  box-shadow: 0 12px 18px rgba(0,0,0,.18);
}
.btn-save:hover{ filter: brightness(.98); }


/* =====================================================
   STILI SPECIFICI — accedi_registrati.php (body.page-auth)
   ===================================================== */

body.page-auth{
  background:#fff; /* come nella JPG: bianco sopra e sotto */
  min-height:100vh;
}

/* HERO */
body.page-auth .page-hero{
  position:relative;
  background:url("img/hero_servizi.jpg") center center / cover no-repeat;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
}
body.page-auth .page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
body.page-auth .page-hero h1{
  position:relative;
  z-index:1;
  font-weight:800;
  letter-spacing:.02em;
  font-size:2.2rem;
  margin:0;
}

/* SEZIONE GIALLA come JPG */
body.page-auth .section-login{
  background: var(--primary-color);
  padding: 70px 0 90px;
}

/* stack centrato: card grande + card piccola sotto */
body.page-auth .auth-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 26px;
}

/* CARD base (shadow e radius come JPG) */
body.page-auth .login-card,
body.page-auth .register-card{
  width: min(560px, 92%);
  background:#fff;
  border-radius:16px;
  box-shadow: 0 16px 26px rgba(0,0,0,.22);
}

/* LOGIN card più alta */
body.page-auth .login-card{
  order: 2;
  padding: 34px 34px 28px;
  text-align:center;
}

/* header “Entra in” + logo */
body.page-auth .login-title{
  margin:0 0 10px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.35rem;
}
body.page-auth .logo-mini{
  display:block;
  height:34px;
  width:auto;
  margin: 0 auto 16px;
}
body.page-auth .login-sub{
  margin: 0 0 18px;
  font-style: italic;
  color:#555;
}

/* input come JPG (bordo arancio e radius) */
body.page-auth .login-card .form-control{
  border: 1.5px solid rgba(229,171,23,.85);
  border-radius: 10px;
  height: 46px;
  padding: 10px 14px;
  box-shadow:none;
  font-size:.95rem;
  margin-bottom: 12px;
}
body.page-auth .login-card .form-control:focus{
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(229,171,23,.18);
}

/* BTN Accedi: outline bianco con testo arancio (come JPG) */
body.page-auth .btn-login{
  width:100%;
  border-radius: 999px;
  border: 2px solid var(--primary-color);
  background:#fff;
  color: var(--primary-color);
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.9rem;
  padding: 12px 14px;
  margin-top: 10px;
  box-shadow: 0 10px 14px rgba(0,0,0,.18);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
body.page-auth .btn-login:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 18px rgba(0,0,0,.22);
  background: var(--primary-color);
  color:#fff;
}

/* divider sottile */
body.page-auth .divider{
  height:1px;
  background: rgba(229,171,23,.65);
  margin: 18px 0 16px;
}

/* forgot */
body.page-auth .forgot{
  display:block;
  text-decoration:none;
  font-weight:700;
  color:#666;
}
body.page-auth .forgot:hover{
  color:#333;
  text-decoration: underline;
}

/* REGISTER card più bassa */
body.page-auth .register-card{
  order: 1;
  padding: 22px 26px 24px;
  text-align:center;
}

/* or divider */
body.page-auth .or-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom: 16px;
}
body.page-auth .or-divider .line{
  height:1px;
  background: rgba(229,171,23,.65);
  flex:1;
}
body.page-auth .or-divider .or-text{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  color:#111;
  font-size: calc(.9rem + 4px);
}

/* bottoni registrazione affiancati come JPG */
body.page-auth .register-actions{
  display:flex;
  gap: 14px;
  justify-content:center;
}
body.page-auth .btn-gold,
body.page-auth .btn-brown{
  flex: 1 1 0;
  max-width: 260px;
  border-radius: 999px;
  padding: 12px 14px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.85rem;
  box-shadow: 0 10px 14px rgba(0,0,0,.20);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body.page-auth .btn-gold{
  background: #C99712; /* leggermente più scuro per somigliare alla JPG */
  color:#fff;
  border:0;
}
body.page-auth .btn-brown{
  background: #8A4B12;
  color:#fff;
  border:0;
}
body.page-auth .btn-gold:hover,
body.page-auth .btn-brown:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 18px rgba(0,0,0,.24);
  filter: brightness(.98);
}

/* responsive: bottoni uno sotto l’altro */
@media (max-width: 576px){
  body.page-auth .login-card{ padding: 28px 20px 22px; }
  body.page-auth .register-card{ padding: 18px 18px 20px; }
  body.page-auth .register-actions{
    flex-direction:column;
  }
  body.page-auth .btn-gold,
  body.page-auth .btn-brown{
    max-width: none;
    width:100%;
  }
  body.page-auth .page-hero h1{ font-size:1.9rem; }
}


/* =====================================================
   STILI SPECIFICI — registrazione_aziende.php
   body.page-registrazione_aziende
   ===================================================== */
body.page-registrazione_aziende{
  background:#fff;
  min-height:100vh;
}

/* HERO identico allo stile delle altre pagine */
body.page-registrazione_aziende .page-hero{
  position:relative;
  background:url("img/hero_aziende.jpg") center center / cover no-repeat;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
}
body.page-registrazione_aziende .page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
body.page-registrazione_aziende .page-hero h1{
  position:relative;
  z-index:1;
  font-weight:800;
  letter-spacing:.02em;
  font-size:2.2rem;
  margin:0;
}

/* fascia gialla come JPG */
body.page-registrazione_aziende .section-register{
  background: var(--primary-color);
  padding: 70px 0 90px;
}

/* centratura card */
body.page-registrazione_aziende .candidate-stack{
  display:flex;
  justify-content:center;
}

/* CARD */
body.page-registrazione_aziende .candidate-card{
  width: min(560px, 92%);
  background:#fff;
  border-radius:16px;
  box-shadow: 0 16px 26px rgba(0,0,0,.22);
  padding: 34px 34px 28px;
  text-align:center;
}

body.page-registrazione_aziende .card-title{
  margin:0 0 10px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.35rem;
}
body.page-registrazione_aziende .card-sub{
  margin: 0 0 18px;
  font-style: italic;
  color:#555;
}

/* input come JPG */
body.page-registrazione_aziende .candidate-card .form-control{
  border: 1.5px solid rgba(229,171,23,.85);
  border-radius: 10px;
  height: 46px;
  padding: 10px 14px;
  box-shadow:none;
  font-size:.95rem;
  margin-bottom: 12px;
}
body.page-registrazione_aziende .candidate-card .form-control:focus{
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(229,171,23,.18);
}

/* bottone outline come JPG */
body.page-registrazione_aziende .btn-register{
  width:100%;
  border-radius: 999px;
  border: 2px solid var(--primary-color);
  background:#fff;
  color: var(--primary-color);
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.9rem;
  padding: 12px 14px;
  margin-top: 10px;
  box-shadow: 0 10px 14px rgba(0,0,0,.18);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
body.page-registrazione_aziende .btn-register:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 18px rgba(0,0,0,.22);
  background: var(--primary-color);
  color:#fff;
}

/* mobile */
@media (max-width:576px){
  body.page-registrazione_aziende .candidate-card{
    padding: 28px 20px 22px;
  }
  body.page-registrazione_aziende .page-hero h1{
    font-size:1.9rem;
  }
}



















/* =====================================================
   STILI SPECIFICI — registrazione_candidati.php
   body.page-registrazione_candidati
   ===================================================== */

body.page-registrazione_candidati{
  background:#fff;
  min-height:100vh;
}

/* HERO identico allo stile delle altre pagine */
body.page-registrazione_candidati .page-hero{
  position:relative;
  background:url("img/hero_servizi.jpg") center center / cover no-repeat;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
}
body.page-registrazione_candidati .page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
body.page-registrazione_candidati .page-hero h1{
  position:relative;
  z-index:1;
  font-weight:800;
  letter-spacing:.02em;
  font-size:2.2rem;
  margin:0;
}

/* fascia gialla come JPG */
body.page-registrazione_candidati .section-register{
  background: var(--primary-color);
  padding: 70px 0 90px;
}

/* centratura card */
body.page-registrazione_candidati .candidate-stack{
  display:flex;
  justify-content:center;
}

/* CARD */
body.page-registrazione_candidati .candidate-card{
  width: min(560px, 92%);
  background:#fff;
  border-radius:16px;
  box-shadow: 0 16px 26px rgba(0,0,0,.22);
  padding: 34px 34px 28px;
  text-align:center;
}

body.page-registrazione_candidati .card-title{
  margin:0 0 10px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.35rem;
}
body.page-registrazione_candidati .card-sub{
  margin: 0 0 18px;
  font-style: italic;
  color:#555;
}

/* input come JPG */
body.page-registrazione_candidati .candidate-card .form-control{
  border: 1.5px solid rgba(229,171,23,.85);
  border-radius: 10px;
  height: 46px;
  padding: 10px 14px;
  box-shadow:none;
  font-size:.95rem;
  margin-bottom: 12px;
}
body.page-registrazione_candidati .candidate-card .form-control:focus{
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(229,171,23,.18);
}

/* bottone outline come JPG */
body.page-registrazione_candidati .btn-register{
  width:100%;
  border-radius: 999px;
  border: 2px solid var(--primary-color);
  background:#fff;
  color: var(--primary-color);
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.9rem;
  padding: 12px 14px;
  margin-top: 10px;
  box-shadow: 0 10px 14px rgba(0,0,0,.18);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
body.page-registrazione_candidati .btn-register:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 18px rgba(0,0,0,.22);
  background: var(--primary-color);
  color:#fff;
}

/* mobile */
@media (max-width:576px){
  body.page-registrazione_candidati .candidate-card{
    padding: 28px 20px 22px;
  }
  body.page-registrazione_candidati .page-hero h1{
    font-size:1.9rem;
  }
}


/* CONTATTI: pannello giallo allineato al mock */
.page-contatti .section-contact .contact-box{
  /* se nel tuo CSS il giallo è già gestito su .section-contact, qui non serve cambiare colore */
  background: var(--primary-color);
  border-radius: 0;
  padding: 44px 44px;
}

/* rimuovo i gutter bootstrap che spesso creano disallineamento */
.page-contatti .section-contact .contact-row{
  --bs-gutter-x: 28px;
  --bs-gutter-y: 0px;
}

/* colonna centrale stretta come nel mock */
.page-contatti .section-contact .contact-col-mid{
  flex: 0 0 20px;
  max-width: 20px;
  padding-left: 0;
  padding-right: 0;
}

/* divider: se non ti interessa tratteggiato, basta che sia “sottile” */
.page-contatti .section-contact .divider-vertical{
  width: 1px;
  height: 100%;
  min-height: 360px;
  background: rgba(255,255,255,.55);
  border: none;
}

/* mappa: rettangolo con bordi arrotondati come nel mock */
.page-contatti .section-contact .map-frame{
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.page-contatti .section-contact .map-frame iframe{
  display: block;
}
/* =========================================================
   FIX MOCK — PAGINA CONTATTI (fascia gialla + allineamenti)
   (scopato SOLO su body.page-contatti)
   ========================================================= */

body.page-contatti .section-contact{
  background: var(--primary-color) !important;
  padding: 84px 0 !important;
}

body.page-contatti .section-contact h2,
body.page-contatti .section-contact h4,
body.page-contatti .contact-info h5{
  color:#fff !important;
}

body.page-contatti .section-contact p,
body.page-contatti .contact-info .item{
  color: rgba(255,255,255,.95) !important;
}

/* Form su fascia gialla: campi bianchi come mock */
body.page-contatti .omega-form .form-control{
  background:#fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.10) !important;
}

body.page-contatti .omega-form .form-control:focus{
  box-shadow: 0 0 0 .2rem rgba(255,255,255,.40) !important;
}

body.page-contatti .omega-form textarea{
  min-height: 200px !important;
  resize: vertical;
}

/* checkbox/label (nel mock è scuro su giallo) */
body.page-contatti .privacy-row{
  color: #111 !important;
}

/* Mappa: riquadro come mock */
body.page-contatti .map-frame{
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
}
body.page-contatti .map-frame iframe{
  display:block !important;
}

/* Anti-slittamento (se qualche regola globale sposta la fascia) */
body.page-contatti #contatti.section-contact{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
}


/* =========================
   PAGINA: profilo candidato (page-profilo-candidato) — extra widget / elementi
   ========================= */
body.page-profilo-candidato .dash-item-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

/* Binario barra %: stessa lunghezza per tutte le righe */
body.page-profilo-candidato .dash-step-line-progress{
  width:120px;
  height:6px;
  background:#D9D9D9;
  border-radius:999px;
  overflow:hidden;
  flex:0 0 120px;
}
body.page-profilo-candidato .dash-step-line-progress > span{
  display:block;
  height:100%;
  width:0%;
  background:#2ECC71;
  border-radius:999px;
}

body.page-profilo-candidato .pill-row{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:20px 0;
}
body.page-profilo-candidato .pill .txt{
  line-height:1.1;
}
body.page-profilo-candidato .pill .num{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:22px;
}

body.page-profilo-candidato .section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:6px;
}
body.page-profilo-candidato .section-head h2{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.75rem;
  margin:0;
}
body.page-profilo-candidato .visib{
  font-family:'Inter',sans-serif;
  font-weight:500;
}


/* ============================================================
   FIX: widget "Le aziende cercano..." (profilo candidato)
   (capsule colorate come mock)
   ============================================================ */
body.page-profilo-candidato .pill-row{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:20px 0 20px;
}

body.page-profilo-candidato .pill{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 22px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  box-shadow: 0 10px 18px rgba(0,0,0,.14);
  min-width: 260px;
}

body.page-profilo-candidato .pill .ic{
  width:34px;
  height:34px;
  flex: 0 0 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: transparent;
  border: none;
  border-radius: 0;
}

body.page-profilo-candidato .pill .ic img{
  width:34px;
  height:34px;
  object-fit: contain;
  display:block;
}

body.page-profilo-candidato .pill .ic i,
body.page-profilo-candidato .pill .ic svg,
body.page-profilo-candidato .pill .ic img{
  color:#fff;
  fill:#fff;
  font-size:22px;
}

body.page-profilo-candidato .pill .txt{ line-height:1.05; }
body.page-profilo-candidato .pill .num{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:22px;
}
body.page-profilo-candidato .pill .sub{
  font-style:italic;
  opacity:.95;
  font-size:13px;
  margin-top:2px;
  display:block;
}

/* Colori (ordine: 1°, 2°, 3°) */
body.page-profilo-candidato .pill-row .pill:nth-child(1){ background:#e46f24; }
body.page-profilo-candidato .pill-row .pill:nth-child(2){ background:#e0a316; }
body.page-profilo-candidato .pill-row .pill:nth-child(3){ background:#d9642b; }

@media (max-width: 768px){
  body.page-profilo-candidato .pill{ min-width: 100%; }
}

/* =====================================================
   PATCH: profilo_candidato — evita rotture layout sidebar
   Se per qualsiasi motivo la card "Cosa hanno cercato" esce dalla colonna,
   la limitiamo comunque alla larghezza tipica della sidebar.
   ===================================================== */
body.page-profilo-candidato .stats-card{
  width: 100%;
  max-width: 420px; /* coerente con sidebar */
  margin-left: 0;
  margin-right: auto;
}


/* =====================================================
   PATCH: profilo_candidato — icone stato (check/x) come PNG
   ===================================================== */
body.page-profilo-candidato .dash-status-icon{
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: inline-block;
}

/* =====================================================
   PATCH: profilo_candidato — icone a sinistra (PNG)
   ===================================================== */
body.page-profilo-candidato .dash-ic{
  display:flex;
  align-items:center;
  justify-content:center;
}
body.page-profilo-candidato .dash-left-icon{
  width: 18px;
  height: 18px;
  object-fit: contain;
  display:block;
}

/* =====================================================
   PATCH: profilo_candidato — "(obbligatorio)" va a capo (solo qui)
   ===================================================== */
body.page-profilo-candidato .dash-item-title .obbl{
  display:block;
  margin-left:0;
  font-style: italic;
  font-size: .85em;
}

/* Verde se sezione completata al 100% */
body.page-profilo-candidato .dash-item.is-complete .dash-item-title,
body.page-profilo-candidato .dash-item.is-complete .dash-item-title .obbl{
  color:#2e9e44;
}

/* Eccezione: "Certificazioni ed attestati" può andare a capo */
body.page-profilo-candidato .dash-title-text.break-cert{
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}


/* PATCH: ripristino icone PNG widget 'Profilo completo' (solo profilo candidato) */
body.page-profilo-candidato .dash-ic{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.page-profilo-candidato .dash-ic svg{ display:none !important; }
body.page-profilo-candidato .dash-ic .dash-left-icon{
  width: 32px;
  height: 32px;
  object-fit: contain;
  display:block;
}

/* ============================
   PRE-FOOTER LINE (GLOBAL)
   (identica alla linea sotto "Aggiorna profilo")
   ============================ */
.prefooter-line{
  height:2px;
  background:rgba(244,160,0,.55);
  width:100%;
}

/* ============================
   PROFILO COMPLETO - ICON FIX DEFINITIVO
   cartella icone: /img (minuscolo)
   ============================ */
.pc-step-ic{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.pc-step-ic img{
  width:26px !important;
  height:26px !important;
  display:block !important;
  object-fit:contain !important;
  max-width:none !important;
  max-height:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
.pc-step-ic svg{ display:none !important; }

/* Footer sempre visibile anche se lo script fade non parte */
footer.fade-section{
  opacity:1 !important;
  transform:translateY(0) !important;
}

/* Cerca candidati: icona lente da img/icon_search.png */
.page-cerca-candidati .search-input .ic img{
  width: 18px;
  height: 18px;
  display: block;
}

/* ===============================
   Cerca candidati (spostato da cerca_candidati.php)
   Scope: .page-cerca-candidati
=================================*/
body.page-cerca-candidati {
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color: var(--text);
      background:#fff;
    }

    .page-cerca-candidati h1, .page-cerca-candidati h2, .page-cerca-candidati h3, .page-cerca-candidati h4, .page-cerca-candidati h5 {
      font-family: Montserrat, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-weight: 800;
    }

    /* Navbar (allineata alle altre pagine) */
    .navbar { padding: 26px 0; }
    .page-cerca-candidati .navbar-brand img { height: 24px; width:auto; display:block; }
    .page-cerca-candidati .navbar-nav .nav-link {
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 700;
      font-size: 1rem;
      color: var(--text);
      padding: .65rem .95rem;
      transition: color .2s ease;
      letter-spacing: -0.3px;
    }
    .page-cerca-candidati .navbar-nav .nav-link:hover { color: var(--primary-color); }

    /* Demo badge */
    .demo-pill {
      width: 48px;
      height: 48px;
      border-radius: 999px;
      background: radial-gradient(circle at 30% 30%, #ffde8a, var(--primary-color));
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border: 3px solid #ff5b5b;
      box-shadow: var(--shadow-soft);
      text-decoration:none;
    }
    .page-cerca-candidati .demo-pill span {
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      font-size: .75rem;
      letter-spacing: .04em;
      color: #d62828;
    }

    /* Page layout */
    .page-wrap { padding: 22px 0 30px; }

    .page-cerca-candidati .company-card {
      background: var(--primary-color);
      border-radius: 22px;
      padding: 26px 22px;
      color: #fff;
      box-shadow: var(--shadow);
      position: relative;
      overflow:hidden;
    }

    .page-cerca-candidati .company-card .brand-row {
      display:flex;
      gap:14px;
      align-items:center;
    }

    .page-cerca-candidati .hex {
      width: 56px;
      height: 56px;
      clip-path: polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0% 50%);
      background: radial-gradient(circle at 30% 30%, #ffde8a, #f6a61a);
      display:flex;
      align-items:center;
      justify-content:center;
      border: 3px solid rgba(255,255,255,.85);
      flex: 0 0 auto;
      box-shadow: 0 8px 14px rgba(0,0,0,.12);
    }
    .page-cerca-candidati .hex span {
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      font-size: .75rem;
      letter-spacing: .04em;
      color: #d62828;
    }

    .page-cerca-candidati .company-name {
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      font-size: 1.45rem;
      line-height: 1.1;
      margin:0;
    }
    .page-cerca-candidati .company-sub {
      opacity:.95;
      font-weight: 700;
      margin: 0;
    }

    .page-cerca-candidati .btn-profile {
      margin-top: 16px;
      width: 100%;
      border: 0;
      background:#fff;
      color: var(--primary-color);
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      padding: 14px 18px;
      border-radius: 999px;
      box-shadow: 0 10px 14px rgba(0,0,0,.18);
      transition: transform .15s ease, box-shadow .15s ease;
    }
    .page-cerca-candidati .btn-profile:hover {
      transform: translateY(-1px);
      box-shadow: 0 12px 16px rgba(0,0,0,.22);
      color: var(--primary-hover);
    }

    .page-cerca-candidati .panel {
      margin-top: 20px;
      background: var(--primary-color);
      border-radius: 22px;
      padding: 18px;
      color:#fff;
      box-shadow: var(--shadow);
    }

    .page-cerca-candidati .panel-title {
      display:flex;
      gap:10px;
      align-items:center;
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      margin: 0 0 12px;
      font-size: 1rem;
    }

    .page-cerca-candidati .panel-title img { width: 18px; height: 18px; display:block; }

    .page-cerca-candidati .search-item {
      padding: 12px 2px;
      border-top: 1px solid rgba(255,255,255,.35);
    }
    .page-cerca-candidati .search-item:first-of-type { border-top: 0; }

    .page-cerca-candidati .search-item .role {
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      margin:0;
      font-size: 1rem;
    }
    .page-cerca-candidati .search-item .count {
      margin:0;
      opacity: .9;
      font-weight: 600;
      font-size: .9rem;
    }

    /* Main content */
    .main-title {
      font-size: 2.25rem;
      margin-bottom: 8px;
    }

    .page-cerca-candidati .stepper {
      margin-top: 10px;
      margin-bottom: 20px;
      position: relative;
      padding-top: 8px;
    }
    .page-cerca-candidati .stepper:before {
      content:"";
      position:absolute;
      left: 0;
      right: 0;
      top: 24px;
      height: 2px;
      background: #cfcfcf;
    }

    .page-cerca-candidati .steps {
      display:flex;
      justify-content: space-between;
      align-items:flex-start;
      gap: 10px;
    }

    .page-cerca-candidati .step {
      width: 33.33%;
      text-align: center;
      position: relative;
      z-index: 1;
    }

    .page-cerca-candidati .step .circle {
      width: 38px;
      height: 38px;
      border-radius: 999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      box-shadow: 0 6px 10px rgba(0,0,0,.12);
      border: 3px solid #fff;
    }
    .page-cerca-candidati .step.active .circle { background: var(--primary-color); color: #fff; }
    .page-cerca-candidati .step.inactive .circle { background: #bdbdbd; color: #fff; box-shadow:none; }

    .page-cerca-candidati .step .label {
      margin-top: 6px;
      font-style: italic;
      font-weight: 700;
      font-size: .95rem;
      color: var(--muted);
    }
    .page-cerca-candidati .step.active .label { color: var(--primary-color); }

    .page-cerca-candidati .section-subtitle {
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      font-size: 1.25rem;
      margin: 18px 0 12px;
    }

    .page-cerca-candidati .searchbar {
      display:flex;
      gap: 16px;
      align-items:flex-start;
    }

    .page-cerca-candidati .search-input {
      flex: 1 1 auto;
      position: relative;
    }

    .page-cerca-candidati .search-input input {
      width: 100%;
      height: 52px;
      border-radius: 14px;
      border: 2px solid var(--primary-color);
      padding-left: 46px;
      padding-right: 14px;
      outline: none;
      font-weight: 500;
    }

    .page-cerca-candidati .search-input .ic {
      position:absolute;
      left: 14px;
      top: 50%;
      transform: translateY(-50%);
      width: 18px;
      height: 18px;
      opacity: .85;
      pointer-events: none; /* l'icona non deve bloccare il click */
    }

    .page-cerca-candidati .search-input .ic img {
      width: 18px;
      height: 18px;
      display:block;
      pointer-events: none;
    }

    /* Dropdown ruoli */
    .ruoli-dropdown {
      position:absolute;
      left: 0;
      right: 0;
      top: 58px;
      background:#fff;
      border: 1px solid rgba(229,171,23,.45);
      border-radius: 14px;
      box-shadow: var(--shadow);
      padding: 10px 10px;
      max-height: 280px;
      overflow:auto;
      display:none;
      z-index: 50;
    }

    .page-cerca-candidati .ruoli-dropdown.show { display:block; }

    .page-cerca-candidati .ruoli-item {
      display:flex;
      align-items:center;
      gap: 10px;
      padding: 8px 8px;
      border-radius: 10px;
      cursor:pointer;
      user-select:none;
    }

    .page-cerca-candidati .ruoli-item:hover { background: rgba(229,171,23,.12); }

    .page-cerca-candidati .ruoli-item input { width: 18px; height: 18px; }

    .page-cerca-candidati .ruoli-empty {
      padding: 10px;
      color: var(--muted);
      font-weight: 600;
    }

    .page-cerca-candidati .btn-continue {
      height: 52px;
      border-radius: 12px;
      padding: 0 22px;
      border: 0;
      font-family: Montserrat, Inter, sans-serif;
      font-weight: 900;
      transition: transform .15s ease, box-shadow .15s ease, background .15s ease, filter .15s ease;
    }

    /* Stato attivo: arancione + "glow" come gli altri pulsanti */
    .page-cerca-candidati .btn-continue:not(:disabled) {
      background: var(--primary-color) !important;
      color: #fff !important;
      box-shadow: 0 10px 14px rgba(0,0,0,.18);
    }

    .page-cerca-candidati .btn-continue:not(:disabled):hover {
      background: var(--primary-hover) !important;
      transform: translateY(-1px);
      box-shadow: 0 12px 16px rgba(0,0,0,.22);
      filter: brightness(1.02);
    }

    .page-cerca-candidati .btn-continue:not(:disabled):active {
      transform: translateY(0);
      box-shadow: 0 8px 12px rgba(0,0,0,.18);
    }

    .page-cerca-candidati .btn-continue:focus-visible {
      outline: 3px solid rgba(229,171,23,.35);
      outline-offset: 2px;
    }

    /* Alias (nel caso il bottone si chiami "cerca") */
    .page-cerca-candidati .btn-cerca:not(:disabled),
    .page-cerca-candidati .btn-cerca {
      transition: transform .15s ease, box-shadow .15s ease, background .15s ease, filter .15s ease;
    }
    .page-cerca-candidati .btn-cerca:not(:disabled) {
      background: var(--primary-color) !important;
      color: #fff !important;
      box-shadow: 0 10px 14px rgba(0,0,0,.18);
    }
    .page-cerca-candidati .btn-cerca:not(:disabled):hover {
      background: var(--primary-hover) !important;
      transform: translateY(-1px);
      box-shadow: 0 12px 16px rgba(0,0,0,.22);
      filter: brightness(1.02);
    }

    .page-cerca-candidati .btn-continue:disabled {
      background: #cfcfcf;
      color:#fff;
      cursor:not-allowed;
      box-shadow:none;
    }

    /* Footer (come altre pagine) */
    footer { padding: 70px 0; border-top: 1px solid var(--primary-color); margin-top: 44px; }
    .page-cerca-candidati .footer-logo { height: 42px; width:auto; display:block; }
    .page-cerca-candidati .footer-italic { font-style: italic; }
    .page-cerca-candidati .map iframe { width: 100%; border-radius: 12px; }

    /* Responsive */
    @media (max-width: 991.98px) {
      .page-cerca-candidati .main-title{ font-size: 1.9rem; }
      .page-cerca-candidati .stepper:before{ left: 10px; right: 10px; }
      .page-cerca-candidati .searchbar{ flex-direction: column; align-items: stretch; }
      .page-cerca-candidati .btn-continue{ width: 100%; }
      .page-cerca-candidati .ruoli-dropdown{ top: 56px; }
    }

/* =====================================================================
   STILI SPECIFICI — selezione_regione.php (body.page-cerca-dove)
   ===================================================================== */

.page-cerca-dove .region-layout{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
  align-items: start;
  margin-top: 10px;
}

.page-cerca-dove .region-map img{
  width: 100%;
  height: auto;
  display: block;
}

.page-cerca-dove .region-form{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  margin-top: 6px;
}

.page-cerca-dove .region-select{
  width: 100%;
  max-width: 520px;
  height: 56px;
  border-radius: 18px;
  border: 2px solid #cfcfcf;
  background: #fff;
  padding: 0 18px;
  font-weight: 500;
  outline: none;
}

.page-cerca-dove .region-select:focus{
  border-color: rgba(229,171,23,.9);
  box-shadow: 0 0 0 .2rem rgba(229,171,23,.18);
}

.page-cerca-dove .region-continue{
  min-width: 150px;
}

@media (max-width: 991.98px){
  .page-cerca-dove .region-layout{
    grid-template-columns: 1fr;
  }
  .page-cerca-dove .region-form{
    align-items: stretch;
  }
  .page-cerca-dove .region-select{
    max-width: none;
  }
  .page-cerca-dove .region-continue{
    width: 100%;
  }
}

/* ============================================================
   FIX SVG CARTINA ITALIA (solo pagina selezione_regione)
   ============================================================ */

.page-cerca-dove .italy-svg-wrap svg{
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* ============================================================
   Selezione regione - box province (stile come mock)
   ============================================================ */
.page-cerca-dove .prov-box{
  width: 100%;
  max-width: 520px;
  border: 2px solid var(--primary-color);
  border-radius: 18px;
  padding: 18px 18px 14px;
  background: #fff;
}

.page-cerca-dove .prov-head{
  display:flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
}

.page-cerca-dove .prov-title{
  color: var(--primary-color);
  font-weight: 800;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
}

.page-cerca-dove .prov-subtitle{
  color: #111;
  font-style: italic;
  font-weight: 500;
  font-size: .95rem;
}

.page-cerca-dove .prov-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
}

.page-cerca-dove .prov-item{
  display:flex;
  align-items:center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  margin: 0;
}

.page-cerca-dove .prov-check{
  width: 18px;
  height: 18px;
  border-radius: 4px;
}

.page-cerca-dove .prov-name{
  font-weight: 500;
  color: #111;
}

.page-cerca-dove .prov-empty{
  color:#666;
  padding: 8px 0 4px;
}

@media (max-width: 576px){
  .page-cerca-dove .prov-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }
}


/* ============================================================
   Selezione regione - azioni box province
   ============================================================ */
.page-cerca-dove .prov-actions{
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}

/* ============================================================
   Mappa regioni - selezione/hover
   ============================================================ */
.page-cerca-dove #italySvgWrap .region-shape{
  fill: #efefef;
  stroke: #222;
  transition: opacity .12s ease, filter .12s ease;
}

.page-cerca-dove #italySvgWrap .region-shape.is-hovered:not(.is-selected){
  fill: rgba(229,171,23,.35);
}

.page-cerca-dove #italySvgWrap .region-shape.is-selected{
  fill: rgba(229,171,23,.95);
  stroke: #111;
  opacity: 1;
}

/* === PAGE: lista_candidati.php (page-lista-candidati) — START === */
/* Scope ultra-sicuro: la pagina ha entrambe le classi nel body */
body.page-lista-candidati {
  background:#fff;
}

/* =====================
   STEPPER (step 1-2 done, 3 current)
   ===================== */
body.page-lista-candidati .stepper {
  margin-top: 10px;
  margin-bottom: 20px;
  position: relative;
  padding-top: 8px;
}
body.page-lista-candidati .stepper:before {
  content:"";
  position:absolute;
  left: 0; right: 0;
  top: 24px;
  height: 2px;
  background: rgba(0,0,0,.18);
}
body.page-lista-candidati .steps {
  display:flex;
  justify-content: space-between;
  align-items:flex-start;
  gap: 10px;
}
body.page-lista-candidati .step {
  width: 33.33%;
  text-align:center;
  position:relative;
  z-index:1;
}
body.page-lista-candidati .step .circle {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family: 'Montserrat', Inter, sans-serif;
  font-weight: 900;
  border: 3px solid #fff;
  background: #bdbdbd;
  color:#fff;
  box-shadow: 0 6px 10px rgba(0,0,0,.10);
}
body.page-lista-candidati .step.done .circle,
body.page-lista-candidati .step.current .circle {
  background: var(--primary-color);
  box-shadow: 0 6px 10px rgba(0,0,0,.12);
}
body.page-lista-candidati .step .label {
  margin-top: 6px;
  font-style: italic;
  font-weight: 700;
  font-size: .95rem;
  color: #777;
  font-family: Inter, sans-serif;
}
body.page-lista-candidati .step.done .label,
body.page-lista-candidati .step.current .label {
  color: var(--primary-color);
}

/* =====================
   PARAMS BOX
   ===================== */
body.page-lista-candidati .params-card {
  margin-top: 6px;
  border: 2px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 14px 14px 12px;
  background:#fff;
}
body.page-lista-candidati .params-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 8px;
}
body.page-lista-candidati .params-title {
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: 1.05rem;
  margin:0;
  color:#111;
}
body.page-lista-candidati .btn-new-search {
  background: var(--primary-color);
  color:#fff;
  border:0;
  border-radius: 10px;
  padding: 10px 18px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  box-shadow: 0 10px 14px rgba(0,0,0,.18);
  text-decoration:none;
  white-space:nowrap;
}
body.page-lista-candidati .btn-new-search:hover {
  background: var(--primary-hover);
  color:#fff;
}
body.page-lista-candidati .params-body {
  font-size: .95rem;
  line-height: 1.6;
  color:#111;
}
body.page-lista-candidati .params-row b {
  font-weight:800;
  margin-right: 6px;
}

/* =====================
   LISTA HEADER
   ===================== */
body.page-lista-candidati .list-head {
  margin-top: 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
body.page-lista-candidati .list-title {
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: 1.2rem;
  color:#111;
}
body.page-lista-candidati .list-total {
  font-weight:800;
  font-size: .95rem;
  color:#111;
  white-space:nowrap;
}

/* =====================
   CANDIDATO CARD
   ===================== */
body.page-lista-candidati .cand-card {
  margin-top: 14px;
  background:#fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  box-shadow: 0 10px 18px rgba(0,0,0,.10);
  overflow:hidden;
}
body.page-lista-candidati .cand-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  padding: 16px 16px 12px;
}
body.page-lista-candidati .cand-left {
  display:flex;
  gap: 14px;
  align-items:flex-start;
  min-width:0;
}
body.page-lista-candidati .cand-avatar {
  width: 96px;
  height: 96px;
  border-radius: 999px;
  border: 4px solid var(--primary-color);
  overflow:hidden;
  flex: 0 0 96px;
  background:#fff;
  box-shadow: 0 8px 14px rgba(0,0,0,.10);
}
body.page-lista-candidati .cand-avatar img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body.page-lista-candidati .cand-info { min-width:0; }
body.page-lista-candidati .cand-name {
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: 1.25rem;
  line-height: 1.1;
  margin: 2px 0 4px;
  color:#111;
}
body.page-lista-candidati .cand-age {
  font-style: italic;
  font-weight: 700;
  margin-bottom: 8px;
  color:#111;
}
body.page-lista-candidati .cand-meta {
  font-size: .95rem;
  line-height: 1.45;
  color:#111;
}
body.page-lista-candidati .cand-meta b { font-weight:800; }

/* Città */
body.page-lista-candidati .cand-city {
  display:flex;
  align-items:center;
  gap: 8px;
  font-weight:800;
  letter-spacing: .02em;
  color:#111;
  white-space: nowrap;
  margin-top: 6px;
}
body.page-lista-candidati .cand-city .pin {
  width: 18px;
  height: 18px;
  display:inline-block;
  background: url("img/icon_pin.png") center/contain no-repeat;
}

/* Bottom */
body.page-lista-candidati .cand-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 16px 14px;
  border-top: 2px solid rgba(229,171,23,.55);
  flex-wrap: wrap;
}
body.page-lista-candidati .cand-roles {
  font-size: .95rem;
  line-height: 1.35;
  color:#111;
}
body.page-lista-candidati .cand-roles b { font-weight:800; }

body.page-lista-candidati .btn-view-profile {
  border: 2px solid var(--primary-color);
  background:#fff;
  color: var(--primary-color);
  border-radius: 999px;
  padding: 9px 16px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size: .85rem;
  box-shadow: 0 10px 14px rgba(0,0,0,.14);
  text-decoration:none;
  white-space: nowrap;
}
body.page-lista-candidati .btn-view-profile:hover {
  background: var(--primary-color);
  color:#fff;
}

/* Responsive */
@media (max-width: 991.98px) {
  body.page-lista-candidati .stepper:before{ left: 10px; right: 10px; }
}
@media (max-width: 576px) {
  body.page-lista-candidati .cand-avatar{ width:84px; height:84px; flex-basis:84px; }
  body.page-lista-candidati .cand-top{ padding: 14px 12px 10px; }
  body.page-lista-candidati .cand-bottom{ padding: 12px 12px 14px; }
  body.page-lista-candidati .cand-city{ margin-top: 2px; }
}
/* === PAGE: lista_candidati.php (page-lista-candidati) — END === */



/* =====================================================
   PATCH FINALE PILLS — profilo candidato
   3 pills allineati orizzontalmente + troncatura + tooltip
   ===================================================== */
body.page-profilo-candidato .pill-row{
  display:flex;
  gap:18px;
  flex-wrap:nowrap;
  margin:20px 0 20px;
}

body.page-profilo-candidato .pill{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 22px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  box-shadow: 0 10px 18px rgba(0,0,0,.14);
  flex:1 1 0%;
  min-width:0;
  position:relative;
}

body.page-profilo-candidato .pill .txt{
  min-width:0;
  flex:1 1 auto;
  line-height:1.05;
}

body.page-profilo-candidato .pill .sub{
  font-style:italic;
  opacity:.95;
  font-size:13px;
  margin-top:2px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* tooltip */
body.page-profilo-candidato .pill[data-title]{
  cursor:default;
}

body.page-profilo-candidato .pill[data-title]:hover::after{
  content:attr(data-title);
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%);
  background:#222;
  color:#fff;
  padding:6px 10px;
  border-radius:6px;
  font-size:.8rem;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 8px 16px rgba(0,0,0,.18);
  z-index:50;
  pointer-events:none;
}

body.page-profilo-candidato .pill[data-title]:hover::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:#222;
  z-index:49;
  pointer-events:none;
}

@media (max-width: 768px){
  body.page-profilo-candidato .pill-row{
    flex-wrap:wrap;
  }
  body.page-profilo-candidato .pill{
    min-width:100%;
  }
}


/* =====================================================================
   STILI SPECIFICI — completa_registrazione_aziende.php
   ===================================================================== */

body.page-completa-registrazione-aziende{
  background:#fff;
}

body.page-completa-registrazione-aziende .company-reg-wrap{
  padding:34px 0 80px;
}

body.page-completa-registrazione-aziende .company-reg-intro h1{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:2.15rem;
  line-height:1.1;
  margin:0 0 10px;
  color:#111;
}

body.page-completa-registrazione-aziende .company-reg-intro p{
  margin:0;
  font-size:1.25rem;
  line-height:1.35;
  font-style:italic;
  color:#333;
}

body.page-completa-registrazione-aziende .company-reg-divider{
  width:100%;
  height:2px;
  background:rgba(229,171,23,.85);
  margin:22px 0 18px;
}

body.page-completa-registrazione-aziende .company-reg-alert{
  border-radius:14px;
  border:1px solid rgba(229,171,23,.45);
  margin-bottom:18px;
}

body.page-completa-registrazione-aziende .company-cover{
  margin-bottom:18px;
}

body.page-completa-registrazione-aziende .company-cover-inner{
  position:relative;
  min-height:190px;
  border-radius:0;
  overflow:hidden;
  background:
    linear-gradient(rgba(0,0,0,.30), rgba(0,0,0,.30)),
    url("img/hero_aziende.jpg") center center / cover no-repeat;
}

body.page-completa-registrazione-aziende .company-cover-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:2.3rem;
  line-height:1.08;
}

body.page-completa-registrazione-aziende .company-form{
  background:#fff;
}

body.page-completa-registrazione-aziende .company-box{
  background:#efefef;
  padding:28px 22px;
  border-top:1px solid rgba(0,0,0,.12);
}

body.page-completa-registrazione-aziende .company-box:first-child{
  border-top:none;
}

body.page-completa-registrazione-aziende .company-section-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.05rem;
  margin:0 0 18px;
  color:#111;
}

body.page-completa-registrazione-aziende .form-label{
  font-style:italic;
  color:#222;
  margin-bottom:8px;
}

body.page-completa-registrazione-aziende .company-label-top{
  display:block;
  font-style:normal;
  font-weight:600;
  margin-bottom:10px;
}

body.page-completa-registrazione-aziende .company-upload-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

body.page-completa-registrazione-aziende .company-file-input{
  max-width:460px;
  border:1px solid rgba(229,171,23,.95);
  border-radius:10px;
  box-shadow:none;
  background:#fff;
}

body.page-completa-registrazione-aziende .company-file-input:focus{
  border-color:var(--primary-color);
  box-shadow:0 0 0 .2rem rgba(229,171,23,.15);
}

body.page-completa-registrazione-aziende .company-upload-note{
  color:#555;
  font-size:.95rem;
}

body.page-completa-registrazione-aziende .company-help-text{
  margin-top:8px;
  color:#666;
  font-size:.92rem;
}

body.page-completa-registrazione-aziende .company-input{
  height:50px;
  border:1px solid rgba(229,171,23,.95);
  border-radius:10px;
  box-shadow:none;
  background:#fff;
}

body.page-completa-registrazione-aziende .company-input:focus{
  border-color:var(--primary-color);
  box-shadow:0 0 0 .2rem rgba(229,171,23,.15);
}

body.page-completa-registrazione-aziende .company-form-actions{
  display:flex;
  justify-content:flex-end;
  padding:30px 18px 0;
}

body.page-completa-registrazione-aziende .btn-primary-custom{
  min-width:170px;
}

body.page-completa-registrazione-aziende .btn-header-icon{
  width:44px;
  height:44px;
  border-radius:999px;
  border:2px solid var(--primary-color);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  box-shadow: var(--shadow-mock);
  text-decoration:none;
  overflow:hidden;
  padding:0;
}

body.page-completa-registrazione-aziende .btn-header-icon svg{
  width:20px;
  height:20px;
  fill: var(--primary-color);
}

body.page-completa-registrazione-aziende .prefooter-line{
  width:100%;
  height:2px;
  background:var(--primary-color);
  margin-top:70px;
}

@media (max-width: 991px){
  body.page-completa-registrazione-aziende .company-cover-text{
    font-size:1.8rem;
  }
}

@media (max-width: 768px){
  body.page-completa-registrazione-aziende .company-reg-wrap{
    padding:22px 0 60px;
  }

  body.page-completa-registrazione-aziende .company-reg-intro h1{
    font-size:1.85rem;
  }

  body.page-completa-registrazione-aziende .company-reg-intro p{
    font-size:1.05rem;
  }

  body.page-completa-registrazione-aziende .company-cover-inner{
    min-height:160px;
  }

  body.page-completa-registrazione-aziende .company-cover-text{
    font-size:1.45rem;
  }

  body.page-completa-registrazione-aziende .company-box{
    padding:22px 16px;
  }

  body.page-completa-registrazione-aziende .company-form-actions{
    justify-content:center;
    padding:26px 0 0;
  }

  body.page-completa-registrazione-aziende .offcanvas .btn-header-outline{
    width:100%;
    text-align:center;
  }

  body.page-completa-registrazione-aziende .footer-logo{
    margin-left:auto;
    margin-right:auto;
    margin-bottom:12px;
  }

  body.page-completa-registrazione-aziende .footer-italic{
    text-align:center;
  }
}


/* =====================================================================
   STILI SPECIFICI — profilo_azienda.php (body.page-profilo-azienda)
   ===================================================================== */

body.page-profilo-azienda{
      background:#fff;
      color:#171717;
    }

    body.page-profilo-azienda .dash-wrap{
      padding:38px 0 90px;
      min-height:calc(100vh - 220px);
    }

    body.page-profilo-azienda .company-card,
    body.page-profilo-azienda .messages-card{
      background:#fff;
      border-radius:24px;
      box-shadow:0 6px 14px rgba(0,0,0,.12);
      overflow:hidden;
    }

    body.page-profilo-azienda .company-card-inner,
    body.page-profilo-azienda .messages-card-inner{
      padding:20px 22px 18px;
    }

    body.page-profilo-azienda .company-name{
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      font-size:1.25rem;
      line-height:1.1;
      margin:0 0 18px;
      color:#111;
    }

    body.page-profilo-azienda .card-divider{
      height:2px;
      background:rgba(229,171,23,.75);
      margin-bottom:18px;
    }

    body.page-profilo-azienda .company-profile-cta{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      padding:10px 18px;
      border-radius:999px;
      background:var(--primary-color);
      color:#fff;
      font-weight:700;
      text-decoration:none;
      box-shadow:0 6px 10px rgba(0,0,0,.12);
      transition:transform .18s ease, box-shadow .18s ease;
      border: 0 !important;
    }

    body.page-profilo-azienda .company-profile-cta:hover{
      transform:translateY(-1px);
      box-shadow:0 8px 14px rgba(0,0,0,.14);
      color:#fff;
    }

    body.page-profilo-azienda .messages-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-bottom:16px;
    }

    body.page-profilo-azienda .messages-head-left{
      display:flex;
      align-items:center;
      gap:10px;
    }

    body.page-profilo-azienda .messages-head-left h3{
      margin:0;
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      font-size:1.12rem;
      color:#111;
    }

    body.page-profilo-azienda .messages-icon{
      width:28px;
      height:28px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 28px;
    }

    body.page-profilo-azienda .messages-icon svg{
      width:26px;
      height:26px;
      fill:var(--primary-color);
    }

    body.page-profilo-azienda .messages-count{
      font-weight:800;
      color:#53A318;
      font-size:1.45rem;
      line-height:1;
      margin-top:-2px;
    }

    body.page-profilo-azienda .message-item{
      padding:14px 0;
      border-bottom:1px solid rgba(0,0,0,.12);
    }

    body.page-profilo-azienda .message-item:last-of-type{
      border-bottom:none;
    }

    body.page-profilo-azienda .message-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }

    body.page-profilo-azienda .message-name{
      font-weight:700;
      font-size:1.02rem;
      color:#1f1f1f;
      line-height:1.2;
      margin:0;
    }

    body.page-profilo-azienda .message-sub{
      margin:4px 0 0;
      font-style:italic;
      color:#666;
      font-size:.92rem;
    }

    body.page-profilo-azienda .message-dot{
      width:18px;
      height:18px;
      border-radius:999px;
      background:#53A318;
      flex:0 0 18px;
    }

    body.page-profilo-azienda .messages-cta-wrap{
      padding-top:18px;
    }

    body.page-profilo-azienda .messages-cta{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      padding:10px 18px;
      border-radius:999px;
      background:var(--primary-color);
      color:#fff;
      font-weight:700;
      text-decoration:none;
      box-shadow:0 6px 10px rgba(0,0,0,.12);
    }

    body.page-profilo-azienda .main-title{
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      font-size:2.15rem;
      line-height:1.08;
      color:#111;
      margin:0 0 8px;
    }

    body.page-profilo-azienda .main-sub{
      margin:0;
      font-size:1.15rem;
      font-style:italic;
      color:#2c2c2c;
    }

    body.page-profilo-azienda .main-divider{
      height:2px;
      width:100%;
      background:rgba(229,171,23,.75);
      margin:18px 0 18px;
    }

    body.page-profilo-azienda .pill-row{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      margin-bottom:18px;
    }

    body.page-profilo-azienda .job-pill{
      flex:1 1 220px;
      min-height:76px;
      border-radius:999px;
      color:#fff;
      display:flex;
      align-items:center;
      gap:14px;
      padding:16px 20px;
      box-shadow:0 8px 14px rgba(0,0,0,.14);
    }

    body.page-profilo-azienda .pill-orange{ background:#ED6E1F; }
    body.page-profilo-azienda .pill-yellow{ background:#EDA715; }
    body.page-profilo-azienda .pill-burnt{ background:#D95C2A; }

    body.page-profilo-azienda .job-pill .ic{
      width:42px;
      height:42px;
      flex:0 0 42px;
      display:flex;
      align-items:center;
      justify-content:center;
    }

    body.page-profilo-azienda .job-pill .ic svg{
      width:34px;
      height:34px;
      fill:#fff;
    }

    body.page-profilo-azienda .job-pill .num{
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      font-size:1.05rem;
      line-height:1.05;
      margin-bottom:2px;
    }

    body.page-profilo-azienda .job-pill .sub{
      font-size:.96rem;
      line-height:1.1;
    }

    body.page-profilo-azienda .search-title{
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      font-size:1.95rem;
      line-height:1.08;
      color:#111;
      margin:26px 0 18px;
    }

    body.page-profilo-azienda .filter-group{
      margin-bottom:28px;
    }

    body.page-profilo-azienda .filter-label{
      display:block;
      margin:0 0 10px;
      font-family:'Montserrat',sans-serif;
      font-weight:800;
      font-size:1.05rem;
      color:#111;
    }

    body.page-profilo-azienda .filter-wrap{
      position:relative;
    }

    body.page-profilo-azienda .filter-wrap svg{
      position:absolute;
      left:16px;
      top:50%;
      transform:translateY(-50%);
      width:22px;
      height:22px;
      fill:var(--primary-color);
      pointer-events:none;
      z-index:2;
    }

    body.page-profilo-azienda .filter-select{
      width:100%;
      height:58px;
      border:2px solid rgba(229,171,23,.95);
      border-radius:16px;
      background:#fff;
      padding:0 18px 0 48px;
      font-size:1rem;
      font-style:italic;
      color:#444;
      appearance:none;
      -webkit-appearance:none;
      -moz-appearance:none;
      box-shadow:none;
      outline:none;
      background-image:none;
    }

    body.page-profilo-azienda .filter-select:focus{
      border-color:var(--primary-color);
      box-shadow:0 0 0 .2rem rgba(229,171,23,.15);
    }

    body.page-profilo-azienda .prefooter-line{
      width:100%;
      height:2px;
      background:var(--primary-color);
    }

    @media (max-width: 991px){
      body.page-profilo-azienda .dash-wrap{
        padding:26px 0 70px;
      }

      body.page-profilo-azienda .main-title{
        font-size:1.9rem;
      }

      body.page-profilo-azienda .search-title{
        font-size:1.65rem;
      }
    }

    @media (max-width: 767px){
      body.page-profilo-azienda .company-card-inner,
      body.page-profilo-azienda .messages-card-inner{
        padding:18px 18px 16px;
      }

      body.page-profilo-azienda .main-title{
        font-size:1.65rem;
      }

      body.page-profilo-azienda .main-sub{
        font-size:1rem;
      }

      body.page-profilo-azienda .job-pill{
        flex:1 1 100%;
        border-radius:28px;
      }

      body.page-profilo-azienda .search-title{
        font-size:1.45rem;
      }
    }


/* =====================================================================
   STILI SPECIFICI — profilo_azienda.php (body.page-profilo-azienda)
   ===================================================================== */

body.page-profilo-azienda{
  background:#fff;
  color:#171717;
}

body.page-profilo-azienda .dash-wrap{
  padding:38px 0 90px;
  min-height:calc(100vh - 220px);
}

body.page-profilo-azienda .company-card,
body.page-profilo-azienda .messages-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-profilo-azienda .company-card-inner,
body.page-profilo-azienda .messages-card-inner{
  padding:20px 22px 18px;
}

body.page-profilo-azienda .company-name{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.25rem;
  line-height:1.1;
  margin:0 0 18px;
  color:#111;
}

body.page-profilo-azienda .card-divider{
  height:2px;
  background:rgba(229,171,23,.75);
  margin-bottom:18px;
}

body.page-profilo-azienda .company-profile-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
}


body.page-profilo-azienda .company-profile-cta.company-profile-cta-edit{
  background:#B88410 !important;
  border:2px solid #B88410 !important;
  color:#fff !important;
}

body.page-profilo-azienda .company-profile-cta.company-profile-cta-edit:hover{
  background:#9D7108 !important;
  border:2px solid #9D7108 !important;
  color:#fff !important;
}

body.page-profilo-azienda .messages-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

body.page-profilo-azienda .messages-head-left{
  display:flex;
  align-items:center;
  gap:10px;
}

body.page-profilo-azienda .messages-head-left h3{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.12rem;
  color:#111;
}

body.page-profilo-azienda .messages-count{
  font-weight:800;
  color:#53A318;
  font-size:1.45rem;
}

body.page-profilo-azienda .message-item{
  padding:14px 0;
  border-bottom:1px solid rgba(0,0,0,.12);
}

body.page-profilo-azienda .main-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:2.15rem;
  line-height:1.08;
  color:#111;
  margin:0 0 8px;
}

body.page-profilo-azienda .main-sub{
  margin:0;
  font-size:1.15rem;
  font-style:italic;
  color:#2c2c2c;
}

body.page-profilo-azienda .main-divider{
  height:2px;
  width:100%;
  background:rgba(229,171,23,.75);
  margin:18px 0;
}

body.page-profilo-azienda .pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

body.page-profilo-azienda .job-pill{
  flex:1 1 220px;
  min-height:76px;
  border-radius:999px;
  color:#fff;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 20px;
}

body.page-profilo-azienda .pill-orange{ background:#ED6E1F; }
body.page-profilo-azienda .pill-yellow{ background:#EDA715; }
body.page-profilo-azienda .pill-burnt{ background:#D95C2A; }

body.page-profilo-azienda .search-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.95rem;
  margin:26px 0 18px;
}

body.page-profilo-azienda .filter-group{
  margin-bottom:28px;
}

body.page-profilo-azienda .filter-label{
  display:block;
  margin-bottom:10px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
}

body.page-profilo-azienda .filter-select{
  width:100%;
  height:58px;
  border:2px solid rgba(229,171,23,.95);
  border-radius:16px;
  padding:0 18px;
  font-style:italic;
}

body.page-profilo-azienda .prefooter-line{
  width:100%;
  height:2px;
  background:var(--primary-color);
}

/* =====================================================================
   STILI SPECIFICI — multiselect settore profilo_azienda
   ===================================================================== */
body.page-profilo-azienda .filter-multiselect{
  position:relative;
}

body.page-profilo-azienda .filter-multiselect-toggle{
  display:flex;
  align-items:center;
  width:100%;
  text-align:left;
  cursor:pointer;
  padding-right:54px;
}

body.page-profilo-azienda .filter-multiselect-toggle::after{
  content:'';
  position:absolute;
  right:20px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid var(--primary-color);
  border-bottom:2px solid var(--primary-color);
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
}

body.page-profilo-azienda .filter-multiselect.is-open .filter-multiselect-toggle::after{
  transform:translateY(-30%) rotate(-135deg);
}

body.page-profilo-azienda .filter-multiselect-text{
  display:block;
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.page-profilo-azienda .filter-multiselect-menu{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 10px);
  background:#fff;
  border:2px solid rgba(229,171,23,.95);
  border-radius:16px;
  padding:12px 14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  z-index:30;
}

body.page-profilo-azienda .filter-multiselect.is-open .filter-multiselect-menu{
  display:block;
}

body.page-profilo-azienda .filter-multiselect-option{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 4px;
  margin:0;
  cursor:pointer;
  color:#222;
  font-style:normal;
}

body.page-profilo-azienda .filter-multiselect-option + .filter-multiselect-option{
  border-top:1px solid rgba(0,0,0,.08);
}

body.page-profilo-azienda .filter-multiselect-option input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  accent-color:var(--primary-color);
}

body.page-profilo-azienda .filter-multiselect-option span{
  line-height:1.25;
}


/* =====================================================================
   FIX DEFINITIVO — placeholder non sovrapposto alla lente
   ===================================================================== */
body.page-profilo-azienda .filter-wrap{
  position:relative;
}

body.page-profilo-azienda .filter-wrap > svg{
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  fill:var(--primary-color);
  pointer-events:none;
  z-index:3;
}

body.page-profilo-azienda .filter-wrap .filter-select,
body.page-profilo-azienda .filter-wrap .filter-multiselect-toggle{
  padding-left:54px !important;
}

body.page-profilo-azienda .filter-wrap .filter-select{
  color:#444;
  background:#fff;
}

body.page-profilo-azienda .filter-wrap .filter-multiselect-toggle{
  font-size:1rem;
  font-style:italic;
  color:#444;
  background:#fff;
  border:2px solid rgba(229,171,23,.95);
  border-radius:16px;
  height:58px;
  padding-right:54px;
}

/* =====================================================================
   FIX — profilo_azienda dropdown + mappa provincia + raggio
   ===================================================================== */
body.page-profilo-azienda .col-lg-9,
body.page-profilo-azienda form,
body.page-profilo-azienda .filter-group,
body.page-profilo-azienda .filter-wrap,
body.page-profilo-azienda .filter-multiselect{
  overflow: visible;
}

body.page-profilo-azienda .filter-group{
  position: relative;
  z-index: 20;
}

body.page-profilo-azienda .filter-multiselect.is-open,
body.page-profilo-azienda .filter-group:focus-within{
  z-index: 60;
}

body.page-profilo-azienda .filter-multiselect-menu{
  z-index: 80;
}

body.page-profilo-azienda .province-map-wrap{
  position: relative;
  z-index: 1;
  margin-top: 18px;
}

body.page-profilo-azienda .province-map-title{
  margin: 0 0 10px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1rem;
}

body.page-profilo-azienda .province-map{
  width: 100%;
  border: 2px solid rgba(229,171,23,.95);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
  background: #f7f7f7;
}

body.page-profilo-azienda .province-map-canvas{
  width: 100%;
  height: 500px;
}

body.page-profilo-azienda .filter-group.filter-group-radius{
  margin-top: 22px;
  z-index: 1;
}

body.page-profilo-azienda .radius-card{
  background:#f4f4f4;
  border:1px solid #d4d8dd;
  border-radius:20px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  padding:28px 28px 24px;
}

body.page-profilo-azienda .radius-value-wrap{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
  color:#3f4651;
  font-family:'Montserrat',sans-serif;
  font-size:1.05rem;
  line-height:1.3;
}

body.page-profilo-azienda .radius-label-text{
  font-weight:500;
}

body.page-profilo-azienda .radius-value{
  font-weight:800;
  font-size:1.08em;
}

body.page-profilo-azienda .radius-slider-wrap{
  margin-top:24px;
}

body.page-profilo-azienda .radius-range{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:4px;
  border-radius:999px;
  background:linear-gradient(to right, #1679c4 0%, #1679c4 var(--range-progress, 9.8%), #d1d5db var(--range-progress, 9.8%), #d1d5db 100%);
  outline:none;
}

body.page-profilo-azienda .radius-range::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#1679c4;
  border:0;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
  cursor:pointer;
}

body.page-profilo-azienda .radius-range::-moz-range-track{
  height:4px;
  border-radius:999px;
  background:#d1d5db;
}

body.page-profilo-azienda .radius-range::-moz-range-progress{
  height:4px;
  border-radius:999px;
  background:#1679c4;
}

body.page-profilo-azienda .radius-range::-moz-range-thumb{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#1679c4;
  border:0;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
  cursor:pointer;
}

body.page-profilo-azienda .province-map .leaflet-left{
  left: 14px;
}

body.page-profilo-azienda .province-map .leaflet-top{
  top: 14px;
}

body.page-profilo-azienda .province-map .leaflet-control-container{
  z-index: 40;
}

body.page-profilo-azienda .province-map .leaflet-control-zoom{
  display:block !important;
  overflow:hidden;
  border-radius:14px;
  border:0;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

body.page-profilo-azienda .province-map .leaflet-control-zoom a{
  display:block !important;
  width:36px;
  height:36px;
  line-height:34px;
  font-size:24px;
  font-weight:700;
  text-indent:0;
  color:#1f1f1f;
  background:#fff;
  border:0;
}

body.page-profilo-azienda .province-map .leaflet-control-zoom a:hover{
  background:#f4f4f4;
  color:#111;
}

body.page-profilo-azienda .province-map .leaflet-control-zoom-in{
  border-bottom:1px solid rgba(0,0,0,.08);
}

@media (max-width: 767px){
  body.page-profilo-azienda .radius-card{
    padding:24px 20px 20px;
  }

  body.page-profilo-azienda .province-map-canvas{
    height: 500px;
  }

  /* Su mobile il menu professioni resta nel flusso
     così non finisce sotto i campi successivi. */
  body.page-profilo-azienda .filter-multiselect-menu{
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin-top: 10px;
    z-index: auto;
    max-height: 260px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* La lente deve restare ancorata al campo chiuso,
     non centrarsi sull'altezza totale del wrapper aperto. */
  body.page-profilo-azienda .filter-multiselect > svg{
    top: 29px;
    transform: translateY(-50%);
  }

  body.page-profilo-azienda .filter-multiselect.is-open{
    z-index: auto;
  }
}


body.page-profilo-azienda .filter-input-text{
  width: 100%;
  padding-right: 16px;
}


body.page-profilo-azienda .filter-group-address{
  margin-top: 0;
}


/* =====================================================================
   STILI SPECIFICI — lista_candidati.php (body.page-lista-candidati)
   ===================================================================== */

body.page-lista-candidati{
  background:#f7f7f7;
  color:#171717;
}

body.page-lista-candidati .candidates-wrap{
  padding:34px 0 82px;
}

body.page-lista-candidati .sidebar-card,
body.page-lista-candidati .result-card,
body.page-lista-candidati .selected-params-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  box-shadow:0 8px 14px rgba(0,0,0,.12);
}

body.page-lista-candidati .sidebar-card-inner,
body.page-lista-candidati .selected-params-inner{
  padding:20px 22px;
}

body.page-lista-candidati .company-box-title{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.05rem;
  line-height:1.2;
  color:#111;
}

body.page-lista-candidati .gold-divider{
  height:2px;
  background:rgba(229,171,23,.85);
  margin:18px 0;
}

body.page-lista-candidati .btn-sidebar-primary,
body.page-lista-candidati .btn-all-messages,
body.page-lista-candidati .btn-new-search,
body.page-lista-candidati .btn-view-profile{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:999px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  letter-spacing:.01em;
  transition:all .2s ease;
}

body.page-lista-candidati .btn-sidebar-primary,
body.page-lista-candidati .btn-all-messages,
body.page-lista-candidati .btn-new-search{
  background:var(--primary-color);
  color:#fff;
  box-shadow:var(--shadow-mock);
}

body.page-lista-candidati .btn-sidebar-primary:hover,
body.page-lista-candidati .btn-all-messages:hover,
body.page-lista-candidati .btn-new-search:hover{
  background:var(--primary-hover);
  color:#fff;
  transform:translateY(-1px);
}

body.page-lista-candidati .btn-sidebar-primary{
  padding:12px 18px;
  font-size:.9rem;
}

body.page-lista-candidati .messages-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

body.page-lista-candidati .messages-head-left{
  display:flex;
  align-items:center;
  gap:10px;
}

body.page-lista-candidati .messages-head-left h3{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.02rem;
  color:#111;
}

body.page-lista-candidati .messages-icon{
  width:30px;
  height:30px;
  border-radius:999px;
  background:var(--primary-color);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 8px rgba(0,0,0,.10);
}

body.page-lista-candidati .messages-icon svg{
  width:16px;
  height:16px;
  fill:#fff;
}

body.page-lista-candidati .messages-count{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  color:#47a43b;
  font-size:1rem;
}

body.page-lista-candidati .message-item{
  padding:14px 0;
  border-bottom:1px solid rgba(0,0,0,.10);
}

body.page-lista-candidati .message-item:last-of-type{
  border-bottom:none;
}

body.page-lista-candidati .message-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

body.page-lista-candidati .message-name{
  margin:0;
  font-weight:700;
  color:#111;
}

body.page-lista-candidati .message-sub{
  margin:2px 0 0;
  font-size:.82rem;
  color:#666;
  font-style:italic;
}

body.page-lista-candidati .message-dot{
  width:14px;
  height:14px;
  border-radius:999px;
  background:#58a629;
  flex:0 0 14px;
}

body.page-lista-candidati .messages-cta-wrap{
  padding-top:18px;
}

body.page-lista-candidati .btn-all-messages{
  width:100%;
  padding:12px 16px;
  font-size:.9rem;
}

body.page-lista-candidati .selected-params-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

body.page-lista-candidati .selected-params-title{
  margin:0 0 12px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.05rem;
  color:#111;
}

body.page-lista-candidati .selected-params-list p{
  margin:0 0 4px;
  color:#111;
}

body.page-lista-candidati .selected-params-list b{
  font-weight:800;
}

body.page-lista-candidati .btn-new-search{
  padding:12px 18px;
  font-size:.9rem;
  white-space:nowrap;
}

body.page-lista-candidati .results-filters-bar{
  margin-top:16px;
}

body.page-lista-candidati .results-filters-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

body.page-lista-candidati .results-filter-field{
  min-width:0;
}

body.page-lista-candidati .results-filter-label{
  display:block;
  margin:0 0 8px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:.92rem;
  color:#111;
}

body.page-lista-candidati .results-filter-select{
  width:100%;
  min-height:64px;
  padding:16px 48px 16px 18px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23E5AB17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  background-size:18px 18px;
  box-shadow:0 8px 14px rgba(0,0,0,.12);
  font-family:'Inter',sans-serif;
  font-size:1rem;
  font-weight:600;
  color:#171717;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}

body.page-lista-candidati .results-filter-select:focus{
  outline:none;
  border-color:rgba(229,171,23,.9);
  box-shadow:0 0 0 .2rem rgba(229,171,23,.16), 0 8px 14px rgba(0,0,0,.12);
}

body.page-lista-candidati .results-title{
  margin:24px 0 14px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:2.05rem;
  color:#111;
}

body.page-lista-candidati .result-card{
  overflow:hidden;
  margin-bottom:16px;
}

body.page-lista-candidati .result-top{
  padding:16px 16px 0;
}

body.page-lista-candidati .result-grid{
  display:grid;
  grid-template-columns:116px minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
}

body.page-lista-candidati .candidate-avatar{
  width:116px;
  height:116px;
  border-radius:999px;
  border:4px solid var(--primary-color);
  background:#fff;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

body.page-lista-candidati .candidate-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

body.page-lista-candidati .candidate-avatar svg{
  width:56px;
  height:56px;
  fill:none;
  stroke:var(--primary-color);
  stroke-width:1.7;
}

body.page-lista-candidati .candidate-name{
  margin:2px 0 8px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.18rem;
  line-height:1.1;
  color:#111;
}

body.page-lista-candidati .candidate-age{
  margin:0 0 10px;
  font-family:'Montserrat',sans-serif;
  font-style:italic;
  font-weight:700;
  font-size:1rem;
  color:#111;
}

body.page-lista-candidati .candidate-meta{
  margin:0;
  font-size:.98rem;
  line-height:1.45;
  color:#111;
}

body.page-lista-candidati .candidate-meta b{
  font-weight:800;
}

body.page-lista-candidati .candidate-city{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding-top:4px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.98rem;
  color:#111;
  text-transform:uppercase;
  white-space:nowrap;
}

body.page-lista-candidati .candidate-city svg{
  width:18px;
  height:18px;
  fill:var(--primary-color);
  flex:0 0 18px;
}

body.page-lista-candidati .result-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-top:2px solid rgba(229,171,23,.75);
  margin:14px 16px 0;
  padding:16px 0 16px;
}

body.page-lista-candidati .candidate-roles{
  margin:0;
  font-size:1rem;
  color:#111;
}

body.page-lista-candidati .candidate-roles b{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
}

body.page-lista-candidati .btn-view-profile{
  min-width:180px;
  border:2px solid var(--primary-color);
  background:#fff;
  color:var(--primary-color);
  padding:10px 18px;
  font-size:.87rem;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
}

body.page-lista-candidati .btn-view-profile:hover{
  background:var(--primary-color);
  color:#fff;
  transform:translateY(-1px);
}

body.page-lista-candidati .prefooter-line{
  width:100%;
  height:2px;
  background:var(--primary-color);
}

@media (max-width: 1199.98px){
  body.page-lista-candidati .result-grid{
    grid-template-columns:100px minmax(0,1fr);
  }

  body.page-lista-candidati .candidate-city{
    justify-self:start;
  }

  body.page-lista-candidati .result-grid > .candidate-city{
    grid-column:2;
  }
}

@media (max-width: 991.98px){
  body.page-lista-candidati .candidates-wrap{
    padding:24px 0 70px;
  }

  body.page-lista-candidati .selected-params-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  body.page-lista-candidati .btn-new-search{
    align-self:flex-start;
  }

  body.page-lista-candidati .results-filters-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767.98px){
  body.page-lista-candidati .results-title{
    font-size:1.7rem;
  }

  body.page-lista-candidati .result-grid{
    grid-template-columns:88px minmax(0,1fr);
    gap:14px;
  }

  body.page-lista-candidati .candidate-avatar{
    width:88px;
    height:88px;
  }

  body.page-lista-candidati .candidate-avatar svg{
    width:44px;
    height:44px;
  }

  body.page-lista-candidati .result-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  body.page-lista-candidati .btn-view-profile{
    min-width:0;
  }
}

@media (max-width: 575.98px){
  body.page-lista-candidati .sidebar-card-inner,
  body.page-lista-candidati .selected-params-inner{
    padding:18px 16px;
  }

  body.page-lista-candidati .result-top{
    padding:14px 14px 0;
  }

  body.page-lista-candidati .result-bottom{
    margin:12px 14px 0;
    padding:14px 0 14px;
  }

  body.page-lista-candidati .candidate-name{
    font-size:1.06rem;
  }

  body.page-lista-candidati .candidate-meta,
  body.page-lista-candidati .candidate-roles{
    font-size:.94rem;
  }

  body.page-lista-candidati .btn-sidebar-primary,
  body.page-lista-candidati .btn-all-messages,
  body.page-lista-candidati .btn-new-search,
  body.page-lista-candidati .btn-view-profile{
    width:100%;
  }
}


/* === FIX DEFINITIVO: lista_candidati sidebar + sfondo + nuova ricerca === */
body.page-lista-candidati{
  background:#fff !important;
  color:#171717;
}

body.page-lista-candidati .dash-wrap{
  padding:38px 0 90px;
  min-height:calc(100vh - 220px);
}

body.page-lista-candidati .company-card,
body.page-lista-candidati .messages-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-lista-candidati .company-card-inner,
body.page-lista-candidati .messages-card-inner{
  padding:20px 22px 18px;
}

body.page-lista-candidati .company-name{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.25rem;
  line-height:1.1;
  margin:0 0 18px;
  color:#111;
}

body.page-lista-candidati .card-divider{
  height:2px;
  background:rgba(229,171,23,.75);
  margin-bottom:18px;
}

body.page-lista-candidati .company-profile-cta,
body.page-lista-candidati .messages-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  transition:transform .18s ease, box-shadow .18s ease;
}

body.page-lista-candidati .company-profile-cta:hover,
body.page-lista-candidati .messages-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(0,0,0,.14);
  color:#fff;
}

body.page-lista-candidati .messages-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

body.page-lista-candidati .messages-head-left{
  display:flex;
  align-items:center;
  gap:10px;
}

body.page-lista-candidati .messages-head-left h3{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.12rem;
  color:#111;
}

body.page-lista-candidati .messages-icon{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
}

body.page-lista-candidati .messages-icon svg{
  width:26px;
  height:26px;
  fill:var(--primary-color);
}

body.page-lista-candidati .messages-count{
  font-weight:800;
  color:#53A318;
  font-size:1.45rem;
  line-height:1;
  margin-top:-2px;
}

body.page-lista-candidati .message-item{
  padding:14px 0;
  border-bottom:1px solid rgba(0,0,0,.12);
}

body.page-lista-candidati .message-item:last-of-type{
  border-bottom:none;
}

body.page-lista-candidati .message-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

body.page-lista-candidati .message-name{
  font-weight:700;
  font-size:1.02rem;
  color:#1f1f1f;
  line-height:1.2;
  margin:0;
}

body.page-lista-candidati .message-sub{
  margin:4px 0 0;
  font-style:italic;
  color:#666;
  font-size:.92rem;
}

body.page-lista-candidati .message-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#53A318;
  flex:0 0 18px;
}

body.page-lista-candidati .messages-cta-wrap{
  padding-top:18px;
}

body.page-lista-candidati .params-card{
  margin-top:6px;
  border:2px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:14px 14px 12px;
  background:#fff;
  border: 1px solid var(--primary-color);
}

body.page-lista-candidati .params-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

body.page-lista-candidati .params-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.05rem;
  line-height:1.2;
  margin:0 0 8px;
  color:#111;
}

body.page-lista-candidati .params-body{
  font-size:.95rem;
  line-height:1.6;
  color:#111;
}

body.page-lista-candidati .params-body p{
  margin:0;
}

body.page-lista-candidati .params-row b{
  font-weight:800;
  margin-right:6px;
}

body.page-lista-candidati .btn-new-search{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  transition:transform .18s ease, box-shadow .18s ease;
}

body.page-lista-candidati .btn-new-search:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(0,0,0,.14);
}

@media (max-width: 991.98px){
  body.page-lista-candidati .params-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* === FIX FINALE lista_candidati: widget sidebar IDENTICI a profilo_azienda === */
body.page-lista-candidati.page-profilo-azienda{
  background:#fff !important;
}

body.page-lista-candidati.page-profilo-azienda .company-card,
body.page-lista-candidati.page-profilo-azienda .messages-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-lista-candidati.page-profilo-azienda .company-card-inner,
body.page-lista-candidati.page-profilo-azienda .messages-card-inner{
  padding:20px 22px 18px;
}

body.page-lista-candidati.page-profilo-azienda .company-name{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.25rem;
  line-height:1.1;
  margin:0 0 18px;
  color:#111;
}

body.page-lista-candidati.page-profilo-azienda .card-divider{
  height:2px;
  background:rgba(229,171,23,.75);
  margin-bottom:18px;
}

body.page-lista-candidati.page-profilo-azienda .company-profile-cta,
body.page-lista-candidati.page-profilo-azienda .messages-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  transition:transform .18s ease, box-shadow .18s ease;
}

body.page-lista-candidati.page-profilo-azienda .company-profile-cta:hover,
body.page-lista-candidati.page-profilo-azienda .messages-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(0,0,0,.14);
  color:#fff;
}

body.page-lista-candidati.page-profilo-azienda .messages-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

body.page-lista-candidati.page-profilo-azienda .messages-head-left{
  display:flex;
  align-items:center;
  gap:10px;
}

body.page-lista-candidati.page-profilo-azienda .messages-head-left h3{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.12rem;
  line-height:1.1;
  color:#111;
}

body.page-lista-candidati.page-profilo-azienda .messages-icon{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  background:transparent;
  border-radius:0;
  box-shadow:none;
}

body.page-lista-candidati.page-profilo-azienda .messages-icon svg{
  width:26px;
  height:26px;
  fill:var(--primary-color);
}

body.page-lista-candidati.page-profilo-azienda .messages-count{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  color:#53A318;
  font-size:1.45rem;
  line-height:1;
  margin-top:-2px;
}

body.page-lista-candidati.page-profilo-azienda .message-item{
  padding:14px 0;
  border-bottom:1px solid rgba(0,0,0,.12);
}

body.page-lista-candidati.page-profilo-azienda .message-item:last-of-type{
  border-bottom:none;
}

body.page-lista-candidati.page-profilo-azienda .message-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

body.page-lista-candidati.page-profilo-azienda .message-name{
  margin:0;
  font-family:'Inter',sans-serif;
  font-weight:700;
  font-size:1.02rem;
  line-height:1.2;
  color:#1f1f1f;
}

body.page-lista-candidati.page-profilo-azienda .message-sub{
  margin:4px 0 0;
  font-family:'Inter',sans-serif;
  font-style:italic;
  font-weight:400;
  color:#666;
  font-size:.92rem;
  line-height:1.3;
}

body.page-lista-candidati.page-profilo-azienda .message-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#53A318;
  flex:0 0 18px;
}

body.page-lista-candidati.page-profilo-azienda .messages-cta-wrap{
  padding-top:18px;
}

body.page-lista-candidati.page-profilo-azienda .btn-new-search{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  transition:transform .18s ease, box-shadow .18s ease;
  white-space:nowrap;
}

body.page-lista-candidati.page-profilo-azienda .btn-new-search:hover{
  background:var(--primary-color);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(0,0,0,.14);
}


/* FIX DEFINITIVO FOOTER — profilo azienda */
body.page-profilo-azienda footer,
body.page-profilo-azienda footer.fade-section{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  display:block !important;
}

body.page-profilo-azienda footer .fade-item,
body.page-profilo-azienda footer .fade-item.show,
body.page-profilo-azienda footer .col-md-4,
body.page-profilo-azienda footer .map{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

body.page-profilo-azienda footer{
  background:#fff;
}

/* === PAGE: lista_candidati.php — paginazione risultati === */
body.page-lista-candidati .results-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin:0;
  padding:20px 0;
  white-space:nowrap;
}

body.page-lista-candidati .results-pagination-label{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.5rem;
  line-height:1;
  color:var(--primary-color);
  margin:0;
}

body.page-lista-candidati .results-pagination-pages{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

body.page-lista-candidati .results-pagination-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  height:48px;
  padding:0 16px;
  border:2px solid rgba(229,171,23,.9);
  border-radius:999px;
  background:#fff;
  color:#111;
  text-decoration:none;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.5rem;
  line-height:1;
  box-shadow:0 6px 4px rgba(0,0,0,.12);
  transition:transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

body.page-lista-candidati .results-pagination-link:hover{
  transform:translateY(-2px);
  background:#FFF7E3;
  color:var(--primary-color);
  box-shadow:0 8px 8px rgba(0,0,0,.16);
}

body.page-lista-candidati .results-pagination-link.is-active,
body.page-lista-candidati .results-pagination-link[aria-current="page"]{
  background:var(--primary-color);
  color:#fff;
  border-color:var(--primary-color);
}

body.page-lista-candidati .results-pagination-link.is-active:hover,
body.page-lista-candidati .results-pagination-link[aria-current="page"]:hover{
  background:var(--primary-hover);
  color:#fff;
  border-color:var(--primary-hover);
}

@media (max-width: 576px){
  body.page-lista-candidati .results-pagination{
    gap:12px;
    padding:18px 0;
  }

  body.page-lista-candidati .results-pagination-label{
    font-size:1.2rem;
  }

  body.page-lista-candidati .results-pagination-pages{
    gap:10px;
  }

  body.page-lista-candidati .results-pagination-link{
    min-width:42px;
    height:42px;
    padding:0 14px;
    font-size:1.2rem;
  }
}


/* === Preferiti candidati === */
body.page-lista-candidati .candidate-save-link,
body.page-lista-candidati .candidate-save-status,
body.page-lista-candidati .candidate-remove-link{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.88rem;
  line-height:1.2;
  text-align:right;
}

body.page-lista-candidati .candidate-save-link{
  color:#171717;
  text-decoration:none;
}

body.page-lista-candidati .candidate-save-link:hover{
  color:var(--primary-color);
  text-decoration:none;
}

body.page-lista-candidati .candidate-save-status{
  color:var(--primary-color);
  display:inline-block;
}

body.page-lista-candidati .candidate-remove-link{
  color:#C62828;
  text-decoration:none;
}

body.page-lista-candidati .candidate-remove-link:hover{
  color:#A61F1F;
  text-decoration:none;
}

/* === Modale conferma preferiti === */
body.page-lista-candidati .favorite-modal-content{
  border-radius:22px;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}

body.page-lista-candidati .favorite-modal-header{
  border-bottom:1px solid rgba(0,0,0,.08);
  padding:18px 20px 12px;
}

body.page-lista-candidati .favorite-modal-header .modal-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  color:#111;
}

body.page-lista-candidati .favorite-modal-body{
  padding:18px 20px;
  font-size:1rem;
  color:#171717;
}

body.page-lista-candidati .favorite-modal-footer{
  border-top:1px solid rgba(0,0,0,.08);
  padding:12px 20px 18px;
}


/* =====================================================================
   STILI SPECIFICI — scrivi_messaggio_candidato.php
   (body.page-scrivi-messaggio-candidato)
   ===================================================================== */

body.page-scrivi-messaggio-candidato .message-compose-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-scrivi-messaggio-candidato .message-compose-inner{
  padding:28px 30px 30px;
}

body.page-scrivi-messaggio-candidato .message-compose-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:2rem;
  line-height:1.08;
  color:#111;
  margin:0;
}

body.page-scrivi-messaggio-candidato .message-compose-divider{
  height:2px;
  width:100%;
  background:rgba(229,171,23,.75);
  margin:18px 0 24px;
}

body.page-scrivi-messaggio-candidato .message-compose-form label{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.95rem;
  color:#111;
  margin-bottom:10px;
}

body.page-scrivi-messaggio-candidato .message-compose-textarea{
  width:100%;
  min-height:260px;
  border:1px solid rgba(229,171,23,.5);
  border-radius:18px;
  padding:18px 20px;
  font-size:1rem;
  line-height:1.6;
  color:#171717;
  resize:vertical;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.04);
}

body.page-scrivi-messaggio-candidato .message-compose-textarea:focus{
  outline:none;
  border-color:var(--primary-color);
  box-shadow:0 0 0 .22rem rgba(229,171,23,.16);
}

body.page-scrivi-messaggio-candidato .message-compose-actions{
  margin-top:18px;
  display:flex;
  justify-content:flex-start;
}

body.page-scrivi-messaggio-candidato .message-compose-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  border:none;
}

body.page-scrivi-messaggio-candidato .message-compose-submit:hover{
  background:var(--primary-hover);
  color:#fff;
}

body.page-scrivi-messaggio-candidato .message-compose-submit:focus{
  outline:none;
  box-shadow:0 0 0 .22rem rgba(229,171,23,.18);
}

body.page-scrivi-messaggio-candidato .message-compose-error{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  padding:28px 30px;
  color:#111;
}

body.page-scrivi-messaggio-candidato .message-compose-error p{
  margin:0;
}

@media (max-width: 991.98px){
  body.page-scrivi-messaggio-candidato .message-compose-inner{
    padding:24px 22px 24px;
  }

  body.page-scrivi-messaggio-candidato .message-compose-title{
    font-size:1.7rem;
  }
}

@media (max-width: 575.98px){
  body.page-scrivi-messaggio-candidato .message-compose-textarea{
    min-height:220px;
    padding:16px 16px;
  }
}


/* =====================================================================
   STILI SPECIFICI — conversazione_azienda_candidato.php
   ===================================================================== */
body.page-conversazione-azienda-candidato .conversation-card,
body.page-conversazione-azienda-candidato .conversation-form-card,
body.page-conversazione-azienda-candidato .conversation-empty-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-conversazione-azienda-candidato .conversation-card-inner,
body.page-conversazione-azienda-candidato .conversation-form-inner,
body.page-conversazione-azienda-candidato .conversation-empty-inner{
  padding:22px 24px;
}

body.page-conversazione-azienda-candidato .conversation-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.6rem;
  line-height:1.08;
  color:#111;
  margin:0 0 8px;
}

body.page-conversazione-azienda-candidato .conversation-subtitle{
  margin:0 0 18px;
  color:#666;
  font-style:italic;
}

body.page-conversazione-azienda-candidato .conversation-divider{
  height:2px;
  background:rgba(229,171,23,.75);
  margin-bottom:20px;
}

body.page-conversazione-azienda-candidato .conversation-thread{
  display:flex;
  flex-direction:column;
  gap:16px;
  max-height:560px;
  overflow-y:auto;
  padding-right:6px;
}

body.page-conversazione-azienda-candidato .conversation-thread::-webkit-scrollbar{
  width:10px;
}

body.page-conversazione-azienda-candidato .conversation-thread::-webkit-scrollbar-thumb{
  background:rgba(229,171,23,.35);
  border-radius:999px;
}

body.page-conversazione-azienda-candidato .chat-row{
  display:flex;
}

body.page-conversazione-azienda-candidato .chat-row.is-company{
  justify-content:flex-end;
}

body.page-conversazione-azienda-candidato .chat-row.is-candidate{
  justify-content:flex-start;
}

body.page-conversazione-azienda-candidato .chat-bubble{
  max-width:min(78%, 720px);
  border-radius:22px;
  padding:14px 18px 12px;
  box-shadow:0 6px 12px rgba(0,0,0,.08);
}

body.page-conversazione-azienda-candidato .chat-row.is-company .chat-bubble{
  background:var(--primary-color);
  color:#fff;
  border-bottom-right-radius:8px;
}

body.page-conversazione-azienda-candidato .chat-row.is-candidate .chat-bubble{
  background:#f6f6f6;
  color:#222;
  border:1px solid rgba(0,0,0,.06);
  border-bottom-left-radius:8px;
}

body.page-conversazione-azienda-candidato .chat-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
}

body.page-conversazione-azienda-candidato .chat-author{
  font-weight:800;
  font-size:.95rem;
  line-height:1.1;
}

body.page-conversazione-azienda-candidato .chat-time{
  font-size:.82rem;
  opacity:.8;
  white-space:nowrap;
}

body.page-conversazione-azienda-candidato .chat-text{
  margin:0;
  white-space:pre-wrap;
  line-height:1.55;
  word-break:break-word;
}

body.page-conversazione-azienda-candidato .conversation-form-label{
  display:block;
  margin-bottom:10px;
  font-weight:700;
  color:#111;
}

body.page-conversazione-azienda-candidato .conversation-textarea{
  width:100%;
  min-height:180px;
  border:1px solid rgba(229,171,23,.7);
  border-radius:16px;
  padding:16px 18px;
  box-shadow:none;
  resize:vertical;
  outline:none;
}

body.page-conversazione-azienda-candidato .conversation-textarea:focus{
  border-color:var(--primary-color);
  box-shadow:0 0 0 .2rem rgba(229,171,23,.15);
}

body.page-conversazione-azienda-candidato .conversation-actions{
  padding-top:18px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

body.page-conversazione-azienda-candidato .conversation-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  border:0;
}

body.page-conversazione-azienda-candidato .conversation-submit:hover{
  color:#fff;
  transform:translateY(-1px);
}

body.page-conversazione-azienda-candidato .conversation-empty-text{
  margin:0;
  color:#666;
  line-height:1.6;
}

body.page-profilo-azienda .company-profile-cta-secondary{
  background:#fff;
  color:var(--primary-color);
  border:2px solid var(--primary-color) !important;
}

body.page-profilo-azienda .company-profile-cta-secondary:hover{
  color:var(--primary-color);
}

@media (max-width: 991px){
  body.page-conversazione-azienda-candidato .conversation-title{
    font-size:1.7rem;
  }

  body.page-conversazione-azienda-candidato .chat-bubble{
    max-width:100%;
  }
}

@media (max-width: 768px){
  body.page-conversazione-azienda-candidato .conversation-card-inner,
  body.page-conversazione-azienda-candidato .conversation-form-inner,
  body.page-conversazione-azienda-candidato .conversation-empty-inner{
    padding:20px 16px;
  }

  body.page-conversazione-azienda-candidato .conversation-title{
    font-size:1.5rem;
  }

  body.page-conversazione-azienda-candidato .conversation-thread{
    max-height:none;
  }

  body.page-conversazione-azienda-candidato .chat-bubble{
    max-width:100%;
    padding:13px 15px 11px;
  }
}


/* Widget messaggi: nomi cliccabili ma visivamente neri e in grassetto */
.message-name-link{
  color:#111;
  font-weight:700;
  text-decoration:none;
}

.message-name-link:hover,
.message-name-link:focus{
  color:#111;
  text-decoration:none;
}


.messages-card .message-name-link{color:#000 !important;font-weight:700 !important;text-decoration:none;}
.messages-card .message-name-link:hover,.messages-card .message-name-link:focus{color:#000 !important;text-decoration:none;}


/* Fix definitivo: nomi conversazioni sempre neri */
.messages-card .message-name > a,
.messages-card .message-name > a:visited,
.messages-card .message-name > a:hover,
.messages-card .message-name > a:focus,
.messages-card .message-name > a:active,
.messages-card .message-name-link,
.messages-card .message-name-link:visited,
.messages-card .message-name-link:hover,
.messages-card .message-name-link:focus,
.messages-card .message-name-link:active{
  color:#000 !important;
  font-weight:700 !important;
  text-decoration:none !important;
}


/* Lista completa messaggi — pulsante elimina finale */
body.page-lista-completa-messaggi .messages-delete-btn,
body.page-lista-completa-messaggi .messages-delete-btn.btn-delete-msg{
  background:#d90000 !important;
  color:#fff !important;
  border:2px solid #d90000 !important;
  border-radius:40px;
  padding:9px 20px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:.875rem;
  letter-spacing:.02em;
  box-shadow:0 6px 4px rgba(0,0,0,.12);
  display:inline-block;
  line-height:normal;
  text-decoration:none !important;
  margin-top:10px;
}

body.page-lista-completa-messaggi .messages-delete-btn:hover,
body.page-lista-completa-messaggi .messages-delete-btn:focus,
body.page-lista-completa-messaggi .messages-delete-btn.btn-delete-msg:hover,
body.page-lista-completa-messaggi .messages-delete-btn.btn-delete-msg:focus{
  background:#b30000 !important;
  border-color:#b30000 !important;
  color:#fff !important;
  text-decoration:none !important;
  transform:none !important;
}

body.page-lista-completa-messaggi .messages-delete-btn-icon,
body.page-lista-completa-messaggi .messages-delete-btn svg{
  display:none !important;
}

body.page-lista-completa-messaggi .messages-delete-btn-text{
  display:inline !important;
}

body.page-profilo-azienda .company-profile-cta.company-profile-cta-secondary{
  background:#6E8B3D !important;
  border:2px solid #6E8B3D !important;
  color:#fff !important;
}

body.page-profilo-azienda .company-profile-cta.company-profile-cta-secondary:hover{
  background:#5D7732 !important;
  border:2px solid #5D7732 !important;
  color:#fff !important;
}


/* =====================================================================
   STILI SPECIFICI — visualizza_profilo_azienda.php
   ===================================================================== */

body.page-visualizza-profilo-azienda .profile-view-head-card,
body.page-visualizza-profilo-azienda .profile-view-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-visualizza-profilo-azienda .profile-view-head-inner,
body.page-visualizza-profilo-azienda .profile-view-card-inner{
  padding:24px 26px;
}

body.page-visualizza-profilo-azienda .profile-view-head-inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

body.page-visualizza-profilo-azienda .btn-new-search{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  transition:transform .18s ease, box-shadow .18s ease;
  white-space:nowrap;
}

body.page-visualizza-profilo-azienda .btn-new-search:hover{
  background:var(--primary-color);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(0,0,0,.14);
}

body.page-visualizza-profilo-azienda .profile-view-title{
  margin:0 0 6px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.85rem;
  line-height:1.08;
  color:#111;
}

body.page-visualizza-profilo-azienda .profile-view-sub{
  margin:0;
  font-size:1.02rem;
  font-style:italic;
  color:#2c2c2c;
}

body.page-visualizza-profilo-azienda .profile-data-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

body.page-visualizza-profilo-azienda .profile-data-item{
  background:#fafafa;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:16px 18px;
  min-width:0;
}

body.page-visualizza-profilo-azienda .profile-data-item-full{
  grid-column:1 / -1;
}

body.page-visualizza-profilo-azienda .profile-data-label{
  margin:0 0 6px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.95rem;
  color:#A66C00;
}

body.page-visualizza-profilo-azienda .profile-data-value{
  margin:0;
  color:#222;
  line-height:1.6;
  white-space:normal;
  overflow-wrap:anywhere;
}

body.page-visualizza-profilo-azienda .profile-empty-state{
  padding:18px 0 4px;
  color:#555;
  line-height:1.7;
}

@media (max-width: 767px){
  body.page-visualizza-profilo-azienda .profile-view-head-inner,
  body.page-visualizza-profilo-azienda .profile-view-card-inner{
    padding:22px 18px;
  }

  body.page-visualizza-profilo-azienda .profile-view-title{
    font-size:1.55rem;
  }

  body.page-visualizza-profilo-azienda .profile-data-grid{
    grid-template-columns:1fr;
  }

  body.page-visualizza-profilo-azienda .btn-new-search{
    width:100%;
  }
}



/* Fix allineamento bottone torna indietro */
.btn-header {
  display: block;
  margin-left: auto;
}

/* =====================================================================
   PATCH — lista_candidati.php
   Pulsanti "Visualizza profilo" e "Contatta"
   Default come "Visualizza messaggi", hover come stile attuale inverso
   ===================================================================== */
body.page-lista-candidati.page-profilo-azienda .btn-view-profile{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:180px;
  padding:10px 18px;
  border-radius:999px;
  border:2px solid var(--primary-color);
  background:var(--primary-color);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}

body.page-lista-candidati.page-profilo-azienda .btn-view-profile:hover{
  background:#fff;
  color:var(--primary-color);
  border-color:var(--primary-color);
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(0,0,0,.14);
}


/* =====================================================================
   STILI SPECIFICI — visualizza_profilo_candidato.php
   (stesso stile di visualizza_profilo_azienda.php)
   ===================================================================== */

body.page-visualizza-profilo-candidato .profile-view-head-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-visualizza-profilo-candidato .profile-view-head-inner{
  padding:24px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

body.page-visualizza-profilo-candidato .profile-view-card{
  background:#fff;
  border-radius:24px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  overflow:hidden;
}

body.page-visualizza-profilo-candidato .profile-view-card-inner{
  padding:26px 28px 28px;
}

body.page-visualizza-profilo-candidato .profile-view-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

body.page-visualizza-profilo-candidato .main-title{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:2.1rem;
  line-height:1.05;
  color:#111;
}

body.page-visualizza-profilo-candidato .main-sub{
  margin:8px 0 0;
  font-size:1.04rem;
  color:#444;
  font-style:italic;
}

body.page-visualizza-profilo-candidato .btn-new-search{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--primary-color);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  text-decoration:none;
  box-shadow:0 6px 10px rgba(0,0,0,.12);
  transition:transform .18s ease, box-shadow .18s ease;
  white-space:nowrap;
}

body.page-visualizza-profilo-candidato .btn-new-search:hover{
  background:var(--primary-color);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 14px rgba(0,0,0,.14);
}

body.page-visualizza-profilo-candidato .profile-view-title{
  margin:0 0 6px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.85rem;
  line-height:1.08;
  color:#111;
}

body.page-visualizza-profilo-candidato .profile-view-sub{
  margin:0;
  font-size:1.02rem;
  font-style:italic;
  color:#2c2c2c;
}

body.page-visualizza-profilo-candidato .main-divider{
  height:2px;
  background:rgba(229,171,23,.75);
  margin:22px 0 20px;
}

body.page-visualizza-profilo-candidato .profile-data-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

body.page-visualizza-profilo-candidato .profile-data-item{
  background:#fafafa;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:16px 18px;
  min-width:0;
}

body.page-visualizza-profilo-candidato .profile-data-item-full{
  grid-column:1 / -1;
}

body.page-visualizza-profilo-candidato .profile-data-label{
  margin:0 0 6px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.95rem;
  color:#A66C00;
}

body.page-visualizza-profilo-candidato .profile-data-value{
  margin:0;
  color:#222;
  line-height:1.6;
  white-space:normal;
  overflow-wrap:anywhere;
}

body.page-visualizza-profilo-candidato .profile-empty-state{
  padding:18px 0 4px;
  color:#555;
  line-height:1.7;
}

@media (max-width: 767px){
  body.page-visualizza-profilo-candidato .profile-view-head-inner,
  body.page-visualizza-profilo-candidato .profile-view-card-inner{
    padding:22px 18px;
  }

  body.page-visualizza-profilo-candidato .profile-view-title{
    font-size:1.55rem;
  }

  body.page-visualizza-profilo-candidato .profile-data-grid{
    grid-template-columns:1fr;
  }

  body.page-visualizza-profilo-candidato .btn-new-search{
    width:100%;
  }
}

/* Gestionale: navigazione laterale sempre accessibile */
.dashboard-layout #sidebar.sidebar{
  position:fixed !important;
  top:0;
  left:0;
  bottom:0;
  height:100vh;
  z-index:1000;
  overflow-y:auto !important;
  scrollbar-width:thin;
}

.dashboard-layout #sidebar.sidebar + .main-content{
  margin-left:290px;
}

.dashboard-layout #sidebar.sidebar.is-collapsed + .main-content{
  margin-left:88px;
}

.dashboard-layout #sidebar .menu-group{
  margin-bottom:5px;
}

.dashboard-layout #sidebar .menu-link,
.dashboard-layout #sidebar .menu-toggle{
  padding-top:10px;
  padding-bottom:10px;
}

.dashboard-layout #sidebar .submenu{
  padding-top:4px;
  padding-bottom:4px;
}

.dashboard-layout #sidebar .submenu a{
  padding-top:8px;
  padding-bottom:8px;
}

.dashboard-layout #sidebar .logout-wrap{
  margin-top:12px;
}

@media (max-width: 900px){
  .dashboard-layout #sidebar.sidebar{
    position:fixed;
    height:100vh;
  }

  .dashboard-layout #sidebar.sidebar + .main-content,
  .dashboard-layout #sidebar.sidebar.is-collapsed + .main-content{
    margin-left:0;
  }
}

/* Impostazioni utente */
body.page-impostazioni{
  background:#fff;
}

body.page-impostazioni .prefooter-line,
body.page-impostazioni footer,
body.page-impostazioni footer.fade-section,
body.page-impostazioni footer .fade-item{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
}

body.page-impostazioni footer{
  background:#fff;
}

body.page-impostazioni .settings-wrap{
  padding-top:42px;
  padding-bottom:70px;
}

body.page-impostazioni .settings-side-card{
  position:sticky;
  top:112px;
}

body.page-impostazioni .settings-user-summary{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

body.page-impostazioni .settings-avatar{
  width:54px;
  height:54px;
  border-radius:999px;
  background:#fff7df;
  border:2px solid rgba(229,171,23,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 54px;
}

body.page-impostazioni .settings-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

body.page-impostazioni .settings-avatar svg{
  width:28px;
  height:28px;
  fill:var(--primary-color);
}

body.page-impostazioni .settings-user-summary h2{
  margin:0 0 3px;
  font-family:'Montserrat',sans-serif;
  font-size:1.04rem;
  font-weight:800;
  color:#222;
  line-height:1.2;
  overflow-wrap:anywhere;
}

body.page-impostazioni .settings-user-summary p{
  margin:0;
  color:#666;
  font-size:.92rem;
}

body.page-impostazioni .settings-side-nav{
  display:grid;
  gap:10px;
}

body.page-impostazioni .settings-side-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  padding:10px 14px;
  border-radius:14px;
  background:#f7f7f7;
  color:#333;
  font-family:'Montserrat',sans-serif;
  font-size:.92rem;
  font-weight:800;
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}

body.page-impostazioni .settings-side-nav a:hover,
body.page-impostazioni .settings-side-nav a.is-active{
  background:var(--primary-color);
  color:#fff;
  transform:translateY(-1px);
}

body.page-impostazioni .settings-side-nav span{
  font-size:.82rem;
}

body.page-impostazioni .settings-head{
  margin-bottom:22px;
}

body.page-impostazioni .settings-kicker,
body.page-impostazioni .settings-card-eyebrow{
  margin:0 0 8px;
  color:#A66C00;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:.82rem;
  text-transform:uppercase;
}

body.page-impostazioni .settings-title{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  color:#111;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.08;
}

body.page-impostazioni .settings-sub{
  max-width:720px;
  margin:12px 0 0;
  color:#555;
  line-height:1.6;
}

body.page-impostazioni .settings-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}

body.page-impostazioni .settings-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  box-shadow:0 16px 34px rgba(0,0,0,.06);
  overflow:hidden;
}

body.page-impostazioni .settings-card-inner{
  padding:26px;
}

body.page-impostazioni .settings-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}

body.page-impostazioni .settings-card h2{
  margin:0;
  font-family:'Montserrat',sans-serif;
  font-size:1.42rem;
  font-weight:800;
  color:#111;
  line-height:1.2;
}

body.page-impostazioni .settings-card p{
  margin:12px 0 0;
  color:#555;
  line-height:1.65;
}

body.page-impostazioni .settings-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  font-family:'Montserrat',sans-serif;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}

body.page-impostazioni .settings-status-pill.is-ok{
  background:#e8f8ef;
  color:#16723a;
}

body.page-impostazioni .settings-status-pill.is-trial{
  background:#fff5d6;
  color:#9a6400;
}

body.page-impostazioni .settings-status-pill.is-warning{
  background:#fff0e6;
  color:#b45b00;
}

body.page-impostazioni .settings-status-pill.is-danger{
  background:#ffe7e7;
  color:#b42318;
}

body.page-impostazioni .settings-status-pill.is-muted{
  background:#eef1f4;
  color:#667085;
}

body.page-impostazioni .settings-data-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

body.page-impostazioni .settings-data-item{
  min-width:0;
  padding:16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fafafa;
}

body.page-impostazioni .settings-data-item span{
  display:block;
  margin-bottom:5px;
  color:#777;
  font-size:.86rem;
  font-weight:700;
}

body.page-impostazioni .settings-data-item strong{
  display:block;
  color:#222;
  font-family:'Montserrat',sans-serif;
  font-size:1rem;
  font-weight:800;
  overflow-wrap:anywhere;
}

body.page-impostazioni .settings-payment-history{
  margin-top:24px;
}

body.page-impostazioni .settings-payment-history h3{
  margin:0 0 12px;
  font-family:'Montserrat',sans-serif;
  font-size:1.02rem;
  font-weight:800;
  color:#222;
}

body.page-impostazioni .settings-table-wrap{
  overflow-x:auto;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
}

body.page-impostazioni .settings-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}

body.page-impostazioni .settings-table th,
body.page-impostazioni .settings-table td{
  padding:13px 14px;
  border-bottom:1px solid rgba(0,0,0,.07);
  text-align:left;
  vertical-align:middle;
  font-size:.92rem;
}

body.page-impostazioni .settings-table th{
  background:#fffaf0;
  color:#7a4b00;
  font-family:'Montserrat',sans-serif;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
}

body.page-impostazioni .settings-table tr:last-child td{
  border-bottom:0;
}

body.page-impostazioni .settings-empty-note{
  padding:14px 16px;
  border-radius:14px;
  background:#f7f7f7;
  color:#555;
}

body.page-impostazioni .settings-card-danger{
  border-color:rgba(180,35,24,.16);
}

body.page-impostazioni .settings-card-danger .settings-card-eyebrow{
  color:#b42318;
}

body.page-impostazioni .settings-delete-btn{
  margin-top:20px;
  min-height:46px;
  border:0;
  border-radius:14px;
  padding:0 20px;
  background:#b42318;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  cursor:pointer;
  opacity:1;
  transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.page-impostazioni .settings-delete-btn:hover{
  background:#921b13;
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(180,35,24,.18);
}

body.page-impostazioni .settings-delete-form{
  margin:0;
}

body.page-impostazioni .settings-delete-alert{
  margin-top:16px;
  padding:12px 14px;
  border:1px solid #f4b6b6;
  border-radius:14px;
  background:#ffe7e7;
  color:#b42318;
  font-weight:700;
}

body.page-impostazioni .settings-delete-alert p{
  margin:0;
  color:inherit;
  line-height:1.45;
}

body.page-impostazioni .settings-delete-modal .modal-content{
  border:0;
  border-radius:18px;
  box-shadow:0 22px 55px rgba(20,20,20,.22);
  overflow:hidden;
}

body.page-impostazioni .settings-delete-modal .modal-header{
  align-items:flex-start;
  border:0;
  padding:24px 26px 12px;
}

body.page-impostazioni .settings-delete-modal-kicker{
  margin:0 0 6px;
  color:#b42318;
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-impostazioni .settings-delete-modal .modal-title{
  color:#1f1f1f;
  font-family:'Montserrat',sans-serif;
  font-size:1.45rem;
  font-weight:900;
}

body.page-impostazioni .settings-delete-modal .modal-body{
  padding:8px 26px 10px;
}

body.page-impostazioni .settings-delete-modal .modal-body p{
  margin:0;
  color:#4f4f4f;
  font-size:1rem;
  font-weight:600;
  line-height:1.65;
}

body.page-impostazioni .settings-delete-modal .modal-footer{
  gap:10px;
  border:0;
  padding:16px 26px 26px;
}

body.page-impostazioni .settings-modal-cancel-btn,
body.page-impostazioni .settings-modal-confirm-btn{
  min-height:44px;
  border-radius:12px;
  padding:0 18px;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
}

body.page-impostazioni .settings-modal-cancel-btn{
  border:1px solid #dedede;
  background:#fff;
  color:#2a2a2a;
}

body.page-impostazioni .settings-modal-confirm-btn{
  border:0;
  background:#b42318;
  color:#fff;
}

body.page-impostazioni .settings-modal-confirm-btn:hover{
  background:#921b13;
}

body.page-impostazioni .settings-modal-confirm-btn:disabled{
  opacity:.65;
  cursor:not-allowed;
}

body.page-impostazioni .settings-disabled-note{
  display:block;
  margin-top:10px;
  color:#777;
  font-size:.9rem;
  font-weight:700;
}

body.page-impostazioni .settings-cta-spacer{
  height:10px;
}

@media (max-width:991px){
  body.page-impostazioni .settings-side-card{
    position:static;
  }

  body.page-impostazioni .settings-data-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:575px){
  body.page-impostazioni .settings-card-inner{
    padding:22px 18px;
  }

  body.page-impostazioni .settings-card-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

.omega-password-field{
  position:relative;
  display:block;
  width:100%;
}

.omega-password-field input[type="password"],
.omega-password-field input[type="text"].omega-password-input-visible{
  padding-right:54px !important;
}

.omega-password-toggle{
  position:absolute;
  top:50%;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#6a6a6a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
  transform:translateY(-50%);
  transition:background-color .2s ease, color .2s ease;
}

.omega-password-toggle:hover,
.omega-password-toggle:focus{
  background:rgba(229,171,23,.14);
  color:#E5AB17;
  outline:none;
}

.omega-password-toggle .material-symbols-outlined{
  display:block;
  font-size:21px;
  line-height:1;
  font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.omega-password-toggle.is-visible{
  color:#E5AB17;
}

.navbar .nav-item:has(> a[href="servizi.php"]),
.navbar .nav-item:has(> a[href="opportunita.php"]){
  display:none !important;
}

.navbar a[href="servizi.php"],
.navbar a[href="opportunita.php"]{
  display:none !important;
}

@media(max-width:991.98px){
  body.page-come-funziona .site-navbar-fixed > .container,
  body.page-candidati .site-navbar-fixed > .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
  }

  body.page-come-funziona .navbar-brand,
  body.page-candidati .navbar-brand{
    display:flex;
    align-items:center;
    margin-right:0;
  }

  body.page-come-funziona .navbar-toggler,
  body.page-candidati .navbar-toggler{
    flex:0 0 auto;
    align-self:center;
    margin-left:auto;
  }
}
