/* ==========================================================
   SMSnet – restyling 2026
   Si carica DOPO style.css e responsive.css: sovrascrive solo
   colori, carattere, header, pulsanti e footer, e aggiunge i
   componenti nuovi della home (classi sn-*).
   ========================================================== */

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans.woff2') format('woff2');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --sn-green: #0E7C47;
  --sn-green-dark: #0A5E36;
  --sn-deep: #0B3D27;
  --sn-ink: #0F1D17;
  --sn-text: #3F4F47;
  --sn-mint: #EEF6F1;
  --sn-soft: #F7FAF8;
  --sn-line: #DCE7E0;
  --sn-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Base ---------- */
body, p, li, input, select, textarea, button, .btn,
.alt-font, h1, h2, h3, h4, h5, h6, .navbar-nav li a {
  font-family: var(--sn-font) !important;
}
body { color: var(--sn-text); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { color: var(--sn-ink); }
a { color: var(--sn-green); }
a:hover { color: var(--sn-green-dark); }
.text-success { color: var(--sn-green) !important; }

/* ---------- Pulsanti del tema ---------- */
.btn { border-radius: 10px !important; font-weight: 700 !important; letter-spacing: .3px; }
.btn-success, .btn.btn-success {
  background: var(--sn-green) !important;
  border-color: var(--sn-green) !important;
  color: #fff !important;
}
.btn-success:hover, .btn.btn-success:hover, .btn-success:focus {
  background: var(--sn-green-dark) !important;
  border-color: var(--sn-green-dark) !important;
  color: #fff !important;
}
.btn-dark-gray, .btn.btn-dark-gray {
  background: transparent !important;
  border: 1.5px solid var(--sn-ink) !important;
  color: var(--sn-ink) !important;
}
.btn-dark-gray:hover, .btn.btn-dark-gray:hover {
  background: var(--sn-ink) !important;
  color: #fff !important;
}

/* ---------- Header ---------- */
header .navbar.bootsnav,
header .navbar.bootsnav.header-light-transparent,
header .navbar.bootsnav.background-transparent {
  background: #fff !important;
  border-bottom: 1px solid var(--sn-line) !important;
  box-shadow: none !important;
}
header .navbar.bootsnav .navbar-nav > li > a {
  color: var(--sn-ink) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: .4px;
}
header .navbar.bootsnav .navbar-nav > li > a:hover,
header .navbar.bootsnav .navbar-nav > li.active > a { color: var(--sn-green) !important; }
header .navbar.bootsnav .dropdown-menu {
  border: 1px solid var(--sn-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(15, 29, 23, .08) !important;
  background: #fff !important;
}
header .navbar.bootsnav .dropdown-menu li a { color: var(--sn-ink) !important; }
header .navbar.bootsnav .dropdown-menu li a:hover { color: var(--sn-green) !important; }
header .navbar-toggler .icon-bar { background: var(--sn-ink) !important; }

/* ---------- Footer ---------- */
footer.footer-standard-dark, footer.footer-standard-dark.bg-extra-dark-gray { background: var(--sn-ink) !important; }
footer .bg-dark-footer { background: #0A1510 !important; color: #C9D6CF !important; }
footer.footer-standard-dark p,
footer.footer-standard-dark a,
footer.footer-standard-dark li a { color: #C9D6CF !important; }
footer.footer-standard-dark a:hover { color: #fff !important; }
footer.footer-standard-dark .widget-title { color: #fff !important; letter-spacing: .5px; }
footer .border-color-medium-dark-gray { border-color: #24352C !important; }
.scroll-top-arrow { background: var(--sn-green) !important; color: #fff !important; border-radius: 50% !important; }

/* ==========================================================
   HOME – banner a rotazione (slider.html)
   ========================================================== */
.sn-hero { padding: 0 !important; }
.sn-hero .swiper-container,
.sn-hero .swiper-wrapper { height: auto !important; }
.sn-hero .swiper-slide { height: auto !important; }

.sn-slide { background: var(--sn-mint); transition: background .5s; }
.sn-slide-1 { background: #EEF6F1; }
.sn-slide-2 { background: #0B3D27; }
.sn-slide-3 { background: #EAF2FB; }
.sn-slide-4 { background: #FFF3E8; }

.sn-slide-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 56px;
  padding: 88px 0 104px;
  min-height: 600px;
}
.sn-slide-text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.sn-slide-media { flex: 1 1 380px; min-width: 0; display: flex; justify-content: center; }
.sn-slide-media img {
  display: block;
  width: 100%;
  max-width: 540px;
  height: 420px;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, .18);
}
.sn-slide-1 .sn-slide-media img { object-position: 50% 50%; }
.sn-slide-2 .sn-slide-media img { object-position: 70% 50%; }
.sn-slide-3 .sn-slide-media img { object-position: 50% 60%; }
.sn-slide-4 .sn-slide-media img { object-position: 55% 65%; }

.sn-kicker { font-size: 14px; font-weight: 700; letter-spacing: .5px; color: #0A5E36; }
.sn-slide h1 {
  margin: 0;
  font-size: 50px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -1.4px;
  color: var(--sn-ink);
  text-transform: none;
}
.sn-slide p.sn-sub { margin: 0; font-size: 19px; line-height: 1.55; color: var(--sn-text); max-width: 560px; }
.sn-slide-3 .sn-kicker { color: #1F5C93; }
.sn-slide-3 p.sn-sub { color: #3B4A5C; }
.sn-slide-4 .sn-kicker { color: #A3461A; }
.sn-slide-4 p.sn-sub { color: #4F4237; }
.sn-slide-2 .sn-kicker { color: #8FE0B5; }
.sn-slide-2 h1 { color: #fff; }
.sn-slide-2 p.sn-sub { color: #CFE6D9; }

.sn-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.sn-btn {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none !important;
  transition: background .2s, color .2s, border-color .2s;
}
.sn-btn-primary { background: var(--sn-green); color: #fff !important; }
.sn-btn-primary:hover { background: var(--sn-green-dark); color: #fff !important; }
.sn-btn-ghost { background: #fff; border: 1.5px solid #CFE3D7; color: var(--sn-ink) !important; }
.sn-btn-ghost:hover { border-color: var(--sn-ink); }
.sn-slide-2 .sn-btn-primary { background: #fff; color: var(--sn-deep) !important; }
.sn-slide-2 .sn-btn-primary:hover { background: #E3F3EA; }
.sn-slide-2 .sn-btn-ghost { background: transparent; border-color: #4F7C66; color: #fff !important; }
.sn-slide-2 .sn-btn-ghost:hover { border-color: #fff; }
.sn-slide-3 .sn-btn-ghost { border-color: #C9DBEF; }
.sn-slide-4 .sn-btn-ghost { border-color: #EED5BF; }

/* pallini dello slider */
.sn-hero .swiper-pagination { bottom: 32px !important; }
.sn-hero .swiper-pagination-bullet {
  width: 10px; height: 10px; margin: 0 6px !important;
  background: rgba(15, 29, 23, .25) !important;
  border: 2px solid rgba(255, 255, 255, .8);
  opacity: 1 !important;
  transition: width .3s;
  border-radius: 999px;
}
.sn-hero .swiper-pagination-bullet-active { width: 28px; background: var(--sn-green) !important; }

/* ==========================================================
   HOME – sezioni (home.html)
   ========================================================== */
.sn-section { padding: 88px 0; background: #fff; }
.sn-section-soft { background: var(--sn-soft); }

.sn-grid { display: flex; flex-wrap: wrap; gap: 24px; }
.sn-card {
  flex: 1 1 300px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 32px;
  background: #fff;
  border: 1px solid var(--sn-line);
  border-radius: 18px;
  text-decoration: none !important;
  color: var(--sn-ink);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
a.sn-card:hover { border-color: #B9D3C4; box-shadow: 0 16px 36px rgba(15, 29, 23, .08); transform: translateY(-2px); color: var(--sn-ink); }
.sn-icon {
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px; background: var(--sn-mint);
}
.sn-icon svg { width: 26px; height: 26px; }
.sn-eyebrow { font-size: 14px; font-weight: 700; color: #0A5E36; text-transform: uppercase; letter-spacing: .5px; line-height: 1.4; }
.sn-card h3 { margin: 0; font-size: 26px; font-weight: 800; color: var(--sn-ink); letter-spacing: -.5px; }
.sn-card .sn-title { font-size: 21px; font-weight: 800; color: var(--sn-ink); }
.sn-card p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--sn-text); }
.sn-link { margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; color: var(--sn-green) !important; text-decoration: none !important; }
.sn-link:hover { color: var(--sn-green-dark) !important; }

.sn-band { background: var(--sn-deep); padding: 80px 0; }
.sn-band-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 40px; }
.sn-band-text { flex: 1 1 540px; min-width: 0; }
.sn-band h2 { margin: 0 0 14px; font-size: 36px; line-height: 1.2; font-weight: 800; letter-spacing: -1px; color: #fff; text-transform: none; }
.sn-band p { margin: 0; font-size: 17px; color: #CFE6D9; }
.sn-band .sn-btn { background: #fff; color: var(--sn-deep) !important; min-height: 56px; padding: 0 32px; font-weight: 800; }
.sn-band .sn-btn:hover { background: #E3F3EA; }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  .sn-slide-inner { padding: 56px 0 88px; gap: 36px; min-height: 0; }
  .sn-slide h1 { font-size: 38px; letter-spacing: -1px; }
  .sn-slide-media img { height: 320px; }
  .sn-section { padding: 64px 0; }
  .sn-band h2 { font-size: 30px; }
}
@media (max-width: 575px) {
  .sn-slide h1 { font-size: 30px; }
  .sn-slide p.sn-sub { font-size: 17px; }
  .sn-slide-media img { height: 240px; border-radius: 18px; }
  .sn-card { padding: 24px; }
  .sn-band { padding: 56px 0; }
  .sn-band h2 { font-size: 26px; }
}

/* ==========================================================
   Banner consenso cookie
   ========================================================== */
#sn-consent {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999;
  max-width: 760px; margin: 0 auto;
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  padding: 20px 22px;
  background: #fff; border: 1px solid var(--sn-line); border-radius: 16px;
  box-shadow: 0 16px 40px rgba(15, 29, 23, .18);
  font-family: var(--sn-font);
}
#sn-consent p { flex: 1 1 360px; margin: 0; font-size: 14px; line-height: 1.5; color: var(--sn-text); }
#sn-consent a { color: var(--sn-green); text-decoration: underline; }
#sn-consent .sn-consent-actions { display: flex; gap: 10px; }
#sn-consent button {
  min-height: 44px; padding: 0 22px; border-radius: 10px; cursor: pointer;
  font-family: var(--sn-font); font-weight: 700; font-size: 15px;
  background: #fff; color: var(--sn-ink); border: 1.5px solid var(--sn-ink);
}
#sn-consent button:hover, #sn-consent button:focus { background: var(--sn-ink); color: #fff; }
