/* ==========================================================================
   Nativa Lab – stile su Bootstrap 5.3
   Colori del vecchio sito: verde #97be0d, grigio #6d6e71
   ========================================================================== */
:root {
  --nativa-green: #97be0d;
  --nativa-green-dark: #7a9a0a;
  --nativa-green-soft: #f3f8e1;
  --nativa-grey: #6d6e71;
  --nativa-dark: #2f3033;
  --bs-body-font-family: 'Open Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --bs-body-color: #4a4b4e;
  --bs-link-color: var(--nativa-green-dark);
  --bs-link-color-rgb: 122, 154, 10;
  --bs-link-hover-color: var(--nativa-dark);
  --bs-link-hover-color-rgb: 47, 48, 51;
}

h1, h2, h3, h4, h5, h6, .navbar, .btn { font-family: 'Montserrat', sans-serif; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--nativa-dark); font-weight: 700; }
.fw-normal { font-weight: 400 !important; }
h1, h2, h3, .h1, .h2, .h3 { overflow-wrap: break-word; hyphens: auto; }
.d-flex > div { min-width: 0; }
.text-nativa { color: var(--nativa-green) !important; }
.bg-nativa { background-color: var(--nativa-green) !important; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.service-body a, .legal-text a, .cosa-cerchi a { text-decoration: underline; text-underline-offset: 2px; }

/* Bottoni */
.btn-nativa {
  --bs-btn-color: #fff; --bs-btn-bg: var(--nativa-green); --bs-btn-border-color: var(--nativa-green);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--nativa-green-dark); --bs-btn-hover-border-color: var(--nativa-green-dark);
  --bs-btn-active-bg: var(--nativa-green-dark); --bs-btn-active-border-color: var(--nativa-green-dark);
  --bs-btn-focus-shadow-rgb: 151, 190, 13;
  font-weight: 600; letter-spacing: .02em;
}
.btn:hover { text-decoration: none; }
.link-more { font-weight: 700; color: var(--nativa-green-dark); }

/* Header */
.site-header { box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.navbar .nav-link { font-weight: 600; font-size: .92rem; color: var(--nativa-grey); text-transform: uppercase; letter-spacing: .03em; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--nativa-green); text-decoration: none; }
.dropdown-menu { border: 0; box-shadow: 0 8px 24px rgba(0,0,0,.1); border-top: 3px solid var(--nativa-green); }
.dropdown-item { font-size: .92rem; }
.dropdown-item.active, .dropdown-item:active { background: var(--nativa-green); }
@media (min-width: 992px) {
  .navbar .dropdown:hover > .dropdown-menu { display: block; margin-top: 0; }
  .navbar-expand-lg .navbar-nav .nav-link { padding-left: 1rem; padding-right: 1rem; }
  .navbar-nav .btn-nativa { margin-left: .75rem; }
}
@media (min-width: 1200px) {
  .navbar-expand-lg .navbar-nav .nav-link { padding-left: 1.4rem; padding-right: 1.4rem; }
}

/* Hero pagine */
.page-hero, .home-hero { position: relative; background-size: cover; background-position: center; color: #fff; }
.page-hero { padding: 7rem 0 4rem; }
.home-hero { padding: 9rem 0 7rem; }
.page-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,25,10,.7), rgba(20,25,10,.25)); }
.page-hero h1, .home-hero h1 { color: #fff; text-transform: uppercase; letter-spacing: .04em; }
.page-hero h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 0; }
.page-hero h1::after { content: ''; display: block; width: 70px; height: 4px; background: var(--nativa-green); margin-top: .75rem; }
.hero-kicker { color: var(--nativa-green); font-weight: 700; text-transform: uppercase; letter-spacing: .15em; margin-bottom: .5rem; }

/* Titoli di sezione */
.section-title h2 { text-transform: uppercase; letter-spacing: .05em; font-size: 1.6rem; }
.section-title .lead { color: var(--nativa-grey); }
.section-title-bar { display: inline-block; width: 60px; height: 4px; background: var(--nativa-green); }

/* Box servizi */
.service-box { display: block; height: 100%; text-align: center; padding: 1.5rem 1rem; border-radius: 12px; color: inherit; transition: transform .2s, box-shadow .2s; }
.service-box:hover { text-decoration: none; transform: translateY(-4px); box-shadow: 0 10px 30px rgba(0,0,0,.08); color: inherit; }
.service-box h3 { margin-top: 1rem; font-size: 1rem; }
.service-box p { font-size: .88rem; color: var(--nativa-grey); margin: 0; }
.service-icon { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border: 2px solid var(--nativa-green); border-radius: 10px; color: var(--nativa-grey); font-size: 2rem; transition: background .2s, color .2s; }
.service-box:hover .service-icon, a.service-icon:hover { background: var(--nativa-green); color: #fff; }
.service-icon-lg { width: 84px; height: 84px; font-size: 2.4rem; }
a.service-icon:hover { text-decoration: none; }

/* Bande verdi (ex Revolution Slider slogan) */
.band-leaves { background: var(--nativa-green) url('../img/sfondo_foglie_blur.jpg') center/cover fixed; color: #fff; position: relative; }
.band-leaves::before { content: ''; position: absolute; inset: 0; background: rgba(110,140,10,.55); }
.band-leaves .container { position: relative; }
.band-slogan { font-family: 'Montserrat', sans-serif; font-size: clamp(1.2rem, 2.6vw, 1.8rem); font-weight: 600; }

/* Contatori */
.counters { position: relative; background-size: cover; background-position: center; background-attachment: fixed; color: #fff; }
.counters::before { content: ''; position: absolute; inset: 0; background: rgba(30,35,20,.6); }
.counter-circle { width: 130px; height: 130px; margin: 0 auto 1rem; border-radius: 50%; border: 5px solid var(--nativa-green); display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); }
.counter-number { font-family: 'Montserrat', sans-serif; font-size: 2rem; font-weight: 700; }
.counter-label { text-transform: uppercase; font-weight: 600; letter-spacing: .05em; font-size: .9rem; }

/* Progress (chi siamo) */
.progress { height: 10px; background: #e4e4e4; }
.skill-label { text-transform: uppercase; font-weight: 600; font-size: .85rem; color: var(--nativa-grey); }

/* Definizione "Nativo" */
.nativo-def { background: var(--nativa-green-soft); border-top: 4px solid var(--nativa-green); font-size: .95rem; }

/* 7 motivi */
.motivo-img { max-height: 160px; object-fit: contain; }
.motivo-title { display: flex; align-items: center; gap: .6rem; }
.motivo-num { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: var(--nativa-green); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; }

/* Timeline metodo */
.timeline-step { padding: 1.5rem 0; border-bottom: 1px dashed #dcdcdc; }
.timeline-step:last-child { border-bottom: 0; }
.interlinea-time { line-height: 1.75; }

/* Lingue / ambiti */
.lang-chip { display: flex; flex-direction: column; justify-content: center; height: 100%; padding: .9rem 1rem; border-radius: 10px; background: #fff; border: 1px solid #e6e6e6; border-left: 4px solid var(--nativa-green); color: var(--nativa-dark); transition: box-shadow .2s, transform .2s; }
.lang-chip:hover { text-decoration: none; transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.08); color: var(--nativa-dark); }
.lang-native { font-weight: 700; font-size: 1.05rem; }
.lang-it { font-size: .8rem; color: var(--nativa-grey); }
.ambito { height: 100%; padding: 1.2rem; border-radius: 10px; background: var(--nativa-green-soft); }
.ambito-title { font-family: 'Montserrat', sans-serif; font-weight: 700; text-transform: uppercase; color: var(--nativa-green-dark); margin-bottom: .5rem; }
.ambito li { padding: .2rem 0; border-bottom: 1px solid rgba(0,0,0,.05); }

/* Cosa stai cercando */
.cosa-cerchi { background: #f7f7f7; border-radius: 10px; padding: 1.25rem 1.5rem; }
.cosa-cerchi li { padding: .25rem 0; }
.cosa-cerchi .sep { color: var(--nativa-green); margin: 0 .25rem; }

/* Sezioni servizio */
.service-section { scroll-margin-top: 110px; }
.service-section h2 { border-left: 4px solid var(--nativa-green); padding-left: .75rem; }

/* Accordion */
.accordion-group-title { font-size: .85rem; letter-spacing: .1em; color: var(--nativa-green-dark); margin-bottom: .5rem; }
.accordion-nativa .accordion-button { font-weight: 600; font-size: .95rem; }
.accordion-nativa .accordion-button:not(.collapsed) { background: var(--nativa-green-soft); color: var(--nativa-dark); box-shadow: none; }
.accordion-nativa .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(151,190,13,.25); }
.accordion-nativa .accordion-body { font-size: .92rem; }

/* CTA box laterali */
.cta-box { padding: 1.5rem; border-radius: 12px; background: #fff; border: 1px solid #e8e8e8; box-shadow: 0 4px 16px rgba(0,0,0,.04); }
.cta-box-icon { font-size: 2rem; color: var(--nativa-green); }
.cta-box h3 { color: var(--nativa-green-dark); }

/* Contatti / moduli */
.contact-card { background: #f7f7f7; border-radius: 12px; padding: 1.5rem; }
.map-consent { background: #eaeaea; }
.social-links a { font-size: 1.4rem; margin-right: .75rem; color: var(--nativa-grey); }
.nativa-form .form-control:focus, .nativa-form .form-select:focus { border-color: var(--nativa-green); box-shadow: 0 0 0 .2rem rgba(151,190,13,.2); }
.form-check-input:checked { background-color: var(--nativa-green); border-color: var(--nativa-green); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Footer */
.site-footer { background: var(--nativa-dark); color: #bdbdbd; padding: 3.5rem 0 1.5rem; font-size: .92rem; }
.site-footer a { color: #e6e6e6; }
.site-footer a:hover { color: var(--nativa-green); }
.footer-logo { max-width: 180px; }
.footer-title { color: #9a9a9a; font-size: .9rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1rem; }
.footer-links li { padding: .2rem 0; }
.footer-links i { color: var(--nativa-green); }
.footer-contacts li { padding: .2rem 0; }
.footer-contacts i { color: var(--nativa-green); margin-right: .4rem; }
.site-footer hr { border-color: rgba(255,255,255,.15); margin: 2rem 0 1rem; }

@media (max-width: 767.98px) {
  .page-hero { padding: 4.5rem 0 2.5rem; }
  .home-hero { padding: 5rem 0 4rem; }
  .band-leaves, .counters { background-attachment: scroll; }
}
@media (prefers-reduced-motion: reduce) {
  .service-box, .lang-chip { transition: none; }
}
