/* =========================================================
   FOOTER / SECTION – base
   ========================================================= */

   .site-footer{
    background:#eee;
    color:#111;
    border-top: 1px solid #ccc;
  }
  
  /* container ampio e centrato */
  .footer-container-wide{
    max-width: 1320px;                /* desktop large */
    margin-inline: auto;
    padding-inline: 16px;
  }
  
  /* blocco superiore */
  .footer-top{
    padding: 28px 16px;
  }
  
  /* griglia 3 colonne uguali */
  .footer-grid-3eq{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    align-items: start;
    justify-items: start;
  }
  
  /* testi colonna sinistra */
  .footer-claim{
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 12px;
  }
  .footer-sub{
    font-size: 16px;
    color: #6b6b6b;
    margin: 0 0 10px;
  }
  
  /* bottone (riusa .btn/.btn-primary globali) */
  .footer-cta{
    margin: 14px 0 22px;
    border-radius: 9999px;
    padding: 12px 22px;
  }
  
  /* brand + payoff */
  .footer-brand{
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .footer-logo svg{
    display: block;
    height: 70px; width: auto;
    margin-top: 20px;
  }
  .footer-payoff{
    font-size: 10px;
    color:#111;
    letter-spacing:.02em;
  }
  
  /* titoli di colonna */
  .footer-title{
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 12px;
  }

  .footer-title-social {
      padding-top: 24px;
  }
  
  /* liste generiche */
  .footer-list{
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 16px !important;
  }
  .footer-list li{
    padding-left: 28px;
    margin-bottom: 10px;
    background-repeat: no-repeat;
    background-position: left 3px;
    font-size: 16px !important;
  }

  .footer-list li a {
      transition: .25s ease;
      font-size: 16px !important;
  }

  .footer-list li a:hover{
    color: var(--accent);
  }
  
  /* ====== Icone: Contatti ====== */
  .icon-geo{
    background: url('img/geo-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  .icon-tel{
    background: url('img/tel-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  .icon-mail{
    background: url('img/mail-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  
  /* Mantieni indirizzo su una riga nei layout wide */
  .icon-geo a{ white-space: normal; }
  
  /* ====== Icone: L’Azienda ====== */
  .icon-casarev{
    background: url('img/casarev-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  .icon-vendiristrutturato{
    background: url('img/vendiristrutturato-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  .icon-compraristrutturato{
    background: url('img/compraristrutturato-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  .icon-clienteristrutturato{
    background: url('img/clienteristrutturato-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  .icon-stracciadebito{
    background: url('img/stracciadebito-icon.png')
                no-repeat left 3px / 18px 18px;
  }
  .icon-repo{
    background: url('img/repo-icon.png')
                no-repeat left 3px / 18px 18px;
  }


  /* ====== TRANSITION SOCIAL ICONS ====== */

  .icon-fb,
  .icon-insta,
  .icon-tt,
  .icon-yt {
      transition: .25s ease;
  }

  .icon-fb:hover,
  .icon-insta:hover,
  .icon-tt:hover,
  .icon-yt:hover {
      transform: scale(1.1);
  }

  .icon-fb:hover,
  .icon-insta:hover,
  .icon-tt:hover,
  .icon-yt:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
  }

  
  /* ====== Social ====== */
  .social-icons{
    display: flex;
    gap: 12px;
    margin-top: 10px;
  }
  .social-icons a{
    display: inline-block;
    width: 50px; height: 50px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .icon-fb{
    background: url('img/fb-icon.png')
                no-repeat center / 50px 50px;
  }
  .icon-insta{
    background: url('img/insta-icon.png')
                no-repeat center / 50px 50px;
  }
  .icon-tt{
    background: url('img/tt-icon.png')
                no-repeat center / 50px 50px;
  }
  .icon-yt{
    background: url('img/yt-icon.png')
                no-repeat center / 50px 50px;
  }
  
  /* ====== Copyright ====== */
  .footer-bottom{
    border-top: 1px solid #ddd;
    padding: 12px 0;
    text-align: center;
  }
  .footer-bottom small,
  .footer-bottom small a {
    font-size: 14px;
    color: #6b6b6b;
    transition: .1s ease;
  }

  .footer-bottom small a {
    font-weight: 600;
  }

  .footer-bottom small a:hover {
    color: var(--accent);
  }

  /* =========================================================
     MEDIA QUERIES – responsive universali
     (desktop XL → laptop → tablet → mobile)
     ========================================================= */
  
  /* ≥ 1400px (desktop XL: container ancora più ampio se serve) */
  @media (min-width: 1400px){
    .footer-container-wide{ max-width: 1380px; }
  }
  
  /* 1200–1399px (desktop / laptop large) */
  @media (max-width: 1399px) and (min-width: 1200px){
    .footer-container-wide{ max-width: 1240px; }
  }
  
  /* 992–1199px (laptop) */
  @media (max-width: 1199px) and (min-width: 992px){
    .footer-container-wide{ max-width: 980px; }
    .footer-grid-3eq{ gap: 36px; }
    .footer-claim{ font-size: 15px; }
    .footer-sub{ font-size: 15px; }
    .social-icons a{ width: 46px; height: 46px; }
  }
  
  /* 768–991px (tablet landscape) → passa a 2 colonne */
  @media (max-width: 991px) and (min-width: 768px){
    .footer-container-wide{ max-width: 740px; }
    .footer-grid-3eq{
      grid-template-columns: repeat(2, 1fr);
      gap: 32px;
    }
    .footer-right{ order: 3; }   /* opz: sposta “L’Azienda” sotto */
    .icon-geo a{ white-space: normal; } /* consenti capo se serve */
    .footer-logo svg{ height: 70px !important; }
    .social-icons a{ width: 44px; height: 44px; }
  }
  
  /* 576–767px (tablet portrait / phablet) → 1 colonna */
  @media (max-width: 767px) and (min-width: 576px){
    .footer-container-wide{ max-width: 540px; }
    .footer-grid-3eq{
      grid-template-columns: 1fr;
      gap: 26px;
    }
    .footer-title{ font-size: 17px; }
    .footer-title-social { padding-top: 20px; }
    .footer-claim{ font-size: 15px; }
    .footer-sub{ font-size: 15px; }
    .footer-cta{ padding: 11px 20px; }

    .social-icons a{ width: 42px; height: 42px; }
  }
  
  /* < 576px (mobile) */
  @media (max-width: 575px){
    .footer-container-wide{ max-width: 100%; padding-inline: 14px; }
    .footer-grid-3eq{
      grid-template-columns: 1fr;
      gap: 24px;
    }
    .footer-title{ font-size: 16px; }
    .footer-title-social { padding-top: 16px; }
    .footer-claim{ font-size: 14px; }
    .footer-sub{ font-size: 14px; }
    .footer-cta{ padding: 10px 18px; }

    .social-icons a{ width: 40px; height: 40px; }
    .footer-bottom{ padding: 10px 0; }
  }
  