/* ==========================================================================
   Incentivi Green — stylesheet
   Palette derivata dal sito originale: verde brand, navy testo, giallo CTA
   ========================================================================== */

:root{
  --ig-green: #7cba27;
  --ig-green-dark: #5c8f1c;
  --ig-green-light: #eaf5d9;
  --ig-navy: #0e2f44;
  --ig-navy-soft: #33526a;
  --ig-yellow: #fdc71b;
  --ig-yellow-dark: #e6b400;
  --ig-bg-light: #f1f9fe;
  --ig-white: #ffffff;
  --ig-radius: 14px;
  --ig-shadow: 0 10px 30px rgba(14,47,68,.08);
  --ig-shadow-strong: 0 16px 40px rgba(14,47,68,.14);
}

body{
  font-family: "Roboto", "Segoe UI", Arial, sans-serif;
  color: var(--ig-navy);
  background-color: var(--ig-white);
  overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6, .font-heading{
  font-family: "Quicksand", "Roboto", sans-serif;
  font-weight: 700;
  color: var(--ig-navy);
}

a{ text-decoration: none; }

.text-green{ color: var(--ig-green) !important; }
.bg-green{ background-color: var(--ig-green) !important; }
.bg-navy{ background-color: var(--ig-navy) !important; }
.bg-light-ig{ background-color: var(--ig-bg-light) !important; }

.section-pad{ padding-top: 90px; padding-bottom: 90px; }
@media (max-width: 767px){
  .section-pad{ padding-top: 56px; padding-bottom: 56px; }
}

.eyebrow{
  display:inline-block;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ig-green);
  font-size: .85rem;
  margin-bottom: .75rem;
}

.section-title{
  font-size: clamp(1.7rem, 2.4vw, 2.5rem);
  margin-bottom: 1rem;
}

.section-lead{
  color: var(--ig-navy-soft);
  font-size: 1.05rem;
  max-width: 760px;
}

/* ---------- Buttons ---------- */
.btn-ig-primary{
  background-color: var(--ig-yellow);
  border: 2px solid var(--ig-yellow);
  color: var(--ig-navy);
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: .75rem 1.75rem;
  border-radius: 50px;
  transition: all .25s ease;
}
.btn-ig-primary:hover{
  background-color: var(--ig-navy);
  border-color: var(--ig-navy);
  color: var(--ig-white);
  transform: translateY(-2px);
}
.btn-ig-outline{
  background-color: transparent;
  border: 2px solid var(--ig-green);
  color: var(--ig-green);
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: .75rem 1.75rem;
  border-radius: 50px;
  transition: all .25s ease;
}
.btn-ig-outline:hover{
  background-color: var(--ig-green);
  color: var(--ig-white);
  transform: translateY(-2px);
}
.btn-ig-ghost-light{
  background-color: rgba(255,255,255,.12);
  border: 2px solid rgba(255,255,255,.6);
  color: var(--ig-white);
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: .7rem 1.6rem;
  border-radius: 50px;
  transition: all .25s ease;
}
.btn-ig-ghost-light:hover{
  background-color: var(--ig-white);
  color: var(--ig-navy);
}

/* ---------- Top bar ---------- */
.ig-topbar{
  background-color: var(--ig-navy);
  color: rgba(255,255,255,.85);
  font-size: .85rem;
}
.ig-topbar a{ color: rgba(255,255,255,.85); }
.ig-topbar a:hover{ color: var(--ig-yellow); }
.ig-topbar .divider{ opacity:.3; }

/* ---------- Navbar ---------- */
.navbar-ig{
  background-color: var(--ig-white);
  box-shadow: 0 4px 18px rgba(14,47,68,.06);
  padding-top: .6rem;
  padding-bottom: .6rem;
}
.navbar-ig .navbar-brand img{ height: 52px; }
.navbar-ig .nav-link{
  font-family:"Quicksand", sans-serif;
  font-weight: 700;
  color: var(--ig-navy) !important;
  padding: .6rem .9rem !important;
}
.navbar-ig .nav-link:hover,
.navbar-ig .nav-link.active{ color: var(--ig-green) !important; }
.navbar-ig .dropdown-menu{
  border: none;
  border-radius: var(--ig-radius);
  box-shadow: var(--ig-shadow-strong);
  padding: .6rem;
}
.navbar-ig .dropdown-item{
  border-radius: 8px;
  padding: .55rem .8rem;
  font-size: .93rem;
}
.navbar-ig .dropdown-item:hover{ background-color: var(--ig-green-light); color: var(--ig-green-dark); }
.navbar-ig .cart-pill{
  background: var(--ig-bg-light);
  border-radius: 50px;
  padding: .4rem .9rem;
  font-weight: 700;
  font-size: .85rem;
}

/* ---------- Hero ---------- */
.hero{
  position: relative;
  background: linear-gradient(120deg, var(--ig-navy) 0%, #16465f 60%, var(--ig-green-dark) 130%);
  color: var(--ig-white);
  overflow: hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: url("../images/hero-bg.png");
  background-repeat: repeat;
  background-size: 420px;
  opacity: .12;
  pointer-events:none;
}
.hero .hero-inner{ position:relative; z-index:1; padding: 110px 0 90px; }
.hero h1{ color: var(--ig-white); font-size: clamp(2rem, 4vw, 3.2rem); }
.hero p.lead{ color: rgba(255,255,255,.85); max-width: 620px; }
.hero .hero-stat{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--ig-radius);
  padding: 1.1rem 1.3rem;
  backdrop-filter: blur(4px);
}
.hero-search{
  background: var(--ig-white);
  border-radius: 50px;
  padding: .4rem;
  box-shadow: var(--ig-shadow-strong);
}
.hero-search input{ border:none; }
.hero-search input:focus{ box-shadow:none; }

/* generic inner-page hero (smaller) */
.page-hero{
  background: linear-gradient(120deg, var(--ig-navy) 0%, #16465f 60%, var(--ig-green-dark) 130%);
  color: var(--ig-white);
  padding: 70px 0 60px;
  position: relative;
  overflow:hidden;
}
.page-hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: url("../images/hero-bg.png");
  background-repeat: repeat;
  background-size: 420px;
  opacity: .1;
}
.page-hero .breadcrumb-ig{ position:relative; z-index:1; }
.page-hero .breadcrumb-ig a{ color: rgba(255,255,255,.75); }
.page-hero .breadcrumb-ig a:hover{ color: var(--ig-yellow); }
.page-hero h1{ position:relative; z-index:1; color:#fff; margin-top:.4rem; }

/* ---------- Cards ---------- */
.ig-card{
  background: var(--ig-white);
  border-radius: var(--ig-radius);
  border: 1px solid rgba(14,47,68,.06);
  box-shadow: var(--ig-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
  height: 100%;
}
.ig-card:hover{ transform: translateY(-6px); box-shadow: var(--ig-shadow-strong); }
.ig-card .ig-card-body{ padding: 1.75rem; }
.ig-icon-circle{
  width: 62px; height:62px;
  border-radius: 50%;
  background: var(--ig-green-light);
  color: var(--ig-green-dark);
  display:flex; align-items:center; justify-content:center;
  font-size: 1.6rem;
  margin-bottom: 1.1rem;
}

.incentive-card img{ height: 190px; object-fit: cover; width:100%; }
.incentive-card .badge-ig{
  background: var(--ig-green);
  color:#fff;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  border-radius: 50px;
  padding:.35rem .8rem;
}

/* ---------- Process steps ---------- */
.step-card{
  position: relative;
  padding: 2rem 1.4rem;
  border-radius: var(--ig-radius);
  background: var(--ig-white);
  box-shadow: var(--ig-shadow);
  height: 100%;
}
.step-number{
  font-family:"Quicksand", sans-serif;
  font-weight:700;
  font-size: 2.6rem;
  color: var(--ig-green-light);
  -webkit-text-stroke: 1px var(--ig-green);
  line-height:1;
  margin-bottom: .5rem;
}

/* ---------- Stats ---------- */
.stat-block{ text-align:center; }
.stat-number{
  font-family:"Quicksand", sans-serif;
  font-weight:700;
  font-size: 2.6rem;
  color: var(--ig-green);
}
.stat-label{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color: var(--ig-navy-soft);
  font-weight:600;
}
.progress-ig{ height: 10px; border-radius: 50px; background: var(--ig-bg-light); }
.progress-ig .progress-bar{ background-color: var(--ig-green); border-radius:50px; }

/* ---------- Partner region badges ---------- */
.region-pill{
  display:inline-block;
  background: var(--ig-bg-light);
  color: var(--ig-navy);
  border-radius: 50px;
  padding:.35rem 1rem;
  margin:.2rem;
  font-size:.82rem;
  font-weight:600;
  border: 1px solid transparent;
  transition: all .2s ease;
}
.region-pill:hover{ border-color: var(--ig-green); color: var(--ig-green-dark); }

/* ---------- Pricing ---------- */
.pricing-card{
  border-radius: var(--ig-radius);
  background: var(--ig-white);
  box-shadow: var(--ig-shadow);
  padding: 2.2rem 1.8rem;
  height:100%;
  border: 2px solid transparent;
  transition: all .25s ease;
}
.pricing-card.featured{ border-color: var(--ig-green); transform: scale(1.03); box-shadow: var(--ig-shadow-strong); }
.pricing-card:hover{ transform: translateY(-6px); }
.pricing-card .price{
  font-family:"Quicksand", sans-serif;
  font-weight:700;
  font-size:2.4rem;
  color: var(--ig-navy);
}
.pricing-card .price small{ font-size:1rem; font-weight:600; color: var(--ig-navy-soft); }
.pricing-card ul{ list-style:none; padding:0; margin: 1.4rem 0; }
.pricing-card ul li{ padding: .45rem 0; border-bottom: 1px dashed rgba(14,47,68,.1); font-size:.92rem; }
.pricing-card ul li i{ color: var(--ig-green); margin-right:.5rem; }

/* ---------- CTA band ---------- */
.cta-band{
  background: linear-gradient(120deg, var(--ig-green-dark), var(--ig-green));
  color:#fff;
  border-radius: var(--ig-radius);
  padding: 3rem;
  position:relative;
  overflow:hidden;
}

/* ---------- Footer ---------- */
.footer-ig{ background-color: var(--ig-navy); color: rgba(255,255,255,.75); }
.footer-ig h5{ color:#fff; font-size:1.05rem; margin-bottom:1.2rem; }
.footer-ig a{ color: rgba(255,255,255,.7); }
.footer-ig a:hover{ color: var(--ig-yellow); }
.footer-ig .footer-logo{ height:46px; margin-bottom:1rem; filter: brightness(0) invert(1); }
.footer-ig ul{ list-style:none; padding:0; margin:0; }
.footer-ig ul li{ margin-bottom:.55rem; }
.footer-ig .social-circle{
  width:38px; height:38px; border-radius:50%;
  background: rgba(255,255,255,.08);
  display:inline-flex; align-items:center; justify-content:center;
  margin-right:.5rem;
  transition: all .2s ease;
}
.footer-ig .social-circle:hover{ background: var(--ig-green); }
.footer-bottom{ background-color: #0a2432; font-size:.85rem; padding: 1.1rem 0; }
.footer-bottom a{ color: rgba(255,255,255,.6); margin-left:1rem; }
.footer-bottom a:hover{ color: var(--ig-yellow); }

/* ---------- Misc ---------- */
.form-control, .form-select{
  border-radius: 10px;
  border-color: rgba(14,47,68,.15);
  padding: .7rem .9rem;
}
.form-control:focus, .form-select:focus{
  border-color: var(--ig-green);
  box-shadow: 0 0 0 .2rem rgba(124,186,39,.15);
}
.form-label{ font-weight:600; font-size:.9rem; }

.accordion-ig .accordion-button{
  font-family:"Quicksand", sans-serif;
  font-weight:700;
  color: var(--ig-navy);
  background-color: var(--ig-bg-light);
}
.accordion-ig .accordion-button:not(.collapsed){
  background-color: var(--ig-green-light);
  color: var(--ig-green-dark);
  box-shadow:none;
}
.accordion-ig .accordion-item{
  border: none;
  border-radius: 10px !important;
  overflow: hidden;
  margin-bottom: .8rem;
  box-shadow: var(--ig-shadow);
}

.back-to-top{
  position: fixed;
  bottom: 24px; right: 24px;
  width: 46px; height:46px;
  border-radius:50%;
  background: var(--ig-green);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow: var(--ig-shadow-strong);
  opacity:0; visibility:hidden;
  transition: all .3s ease;
  z-index: 999;
}
.back-to-top.show{ opacity:1; visibility:visible; }
.back-to-top:hover{ background: var(--ig-navy); color:#fff; }

.toast-ig{ z-index: 1080; }

.breadcrumb-ig{
  font-size:.9rem;
  font-weight:600;
}

.contact-info-item{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.4rem; }
.contact-info-item .ic{
  width:48px; height:48px; min-width:48px;
  border-radius:50%;
  background: var(--ig-green-light);
  color: var(--ig-green-dark);
  display:flex; align-items:center; justify-content:center;
}

.map-block{ border-radius: var(--ig-radius); overflow:hidden; box-shadow: var(--ig-shadow); }

.timeline-ig{ border-left: 3px solid var(--ig-green-light); padding-left: 1.6rem; }
.timeline-ig .timeline-item{ position:relative; margin-bottom:2rem; }
.timeline-ig .timeline-item::before{
  content:"";
  position:absolute; left:-1.94rem; top:.35rem;
  width:14px; height:14px; border-radius:50%;
  background: var(--ig-green); border:3px solid var(--ig-green-light);
}
.timeline-ig .timeline-year{ font-family:"Quicksand",sans-serif; font-weight:700; color: var(--ig-green-dark); }
