/* PAGE HERO */
.page-hero { margin-top: 52px; background: var(--navy); padding: 102px 48px 74px; border-bottom: 3px solid var(--amber); position: relative; overflow: hidden; }
.page-hero::before { content: ''; position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0.08; }
.page-hero-img { position: absolute; top: 0; left: 0; width: 100%; height: 600px; z-index: 0; background-size: cover; background-position: center bottom;}
.page-hero-gradient { position: absolute; top: 0; left: 0; width: 100%; height:600px; z-index: 1; background: linear-gradient(0deg, rgba(7,13,20,0.8) 0%, rgba(7,13,20,0) 60%); }
.page-hero-inner { position: relative; z-index: 1; max-width: 800px; }
.breadcrumb { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 20px; }
.breadcrumb a { color: var(--amber-light); text-decoration: none; }
.breadcrumb span { margin: 0 8px; }
.page-hero h1 { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: clamp(42px, 5vw, 68px); line-height: 1; text-transform: uppercase; color: var(--white); margin-bottom: 20px; letter-spacing: -0.01em; }
.page-hero h1 em { font-style: normal; color: var(--amber-light); }
.page-hero p { font-size: 17px; font-weight: 300; line-height: 1.7; color: rgba(255,255,255,0.65); max-width: 640px; }

/* ANCHOR NAV */
.anchor-nav { background: var(--sand); border-bottom: 1px solid #ddd8d0; position: sticky; top: 72px; z-index: 90; }
.anchor-nav-inner { display: flex; gap: 0; padding: 0 48px; }
.anchor-nav a { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-light); text-decoration: none; padding: 16px 24px; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; white-space: nowrap; }
.anchor-nav a:hover { color: var(--amber); border-bottom-color: var(--amber); }

/* SEZIONI COMUNI */
.section-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--amber); margin-bottom: 10px; }
.section-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: clamp(34px, 4vw, 52px); line-height: 1; text-transform: uppercase; color: var(--navy); margin-bottom: 32px; }
.section-duecolonne p { font-size: 16px; font-weight: 300; line-height: 1.82; color: var(--text-light); margin-bottom: 20px; }
.section-duecolonne p strong { font-weight: 500; color: var(--text); }

.punti_chiave { display: none;}

/* ── CHI SIAMO ── */
.section-duecolonne { padding: 96px 48px; }
.duecolonne-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }

.section-duecolonne blockquote {margin: 20px 0; background-color: var(--navy); padding: 20px; color: #fff; line-height: 1.8rem;}
.section-duecolonne blockquote p { color: #fff;}

.section-duecolonne blockquote strong { font-weight: 500; color: var(--amber); }

.numeri-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 40px; }
.numero-box { background: var(--gray-light); padding: 28px 24px; }
.numero-val { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 44px; color: var(--amber); line-height: 1; }
.numero-label { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray-mid); margin-top: 6px; }

/* ATTIVITÀ */
.section-attivita { padding: 96px 48px; background: var(--gray-light); }
.attivita-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-bottom: 64px; }
.lavorazioni-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.lavorazione-card { background: var(--navy); padding: 36px 32px; }
.lavorazione-card:hover { background: var(--steel); }
.lav-icon { width: 32px; height: 3px; background: var(--amber); margin-bottom: 20px; }
.lav-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 20px; text-transform: uppercase; color: var(--white); margin-bottom: 12px; letter-spacing: 0.04em; }
.lav-text { font-size: 13.5px; font-weight: 300; line-height: 1.7; color: rgba(255,255,255,0.55); }

/* IMPIANTI */
.section-impianti { padding: 96px 48px; background: var(--white); }
.impianti-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-bottom: 56px; align-items: start; }
.impianti-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.impianto-card { background: var(--sand); padding: 40px 36px; border-top: 3px solid var(--amber); }
.impianto-card:link, .impianto-card:visited { color: inherit; text-decoration: none; }
.impianto-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 48px; color: rgba(13,31,45,0.08); line-height: 1; margin-bottom: 4px; }
.impianto-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 20px; text-transform: uppercase; color: var(--navy); margin-bottom: 12px; letter-spacing: 0.04em; }
.impianto-text { font-size: 14px; font-weight: 300; line-height: 1.75; color: var(--text-light); margin-bottom: 16px; }
.impianto-tag { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--amber); padding:3px;}

/* STORIA / TIMELINE */
.section-storia { padding: 96px 0; background: var(--navy); overflow: hidden; }
.storia-header { padding: 0 48px; margin-bottom: 72px; }
.storia-header .section-label { color: rgba(200,114,26,0.8); }
.storia-header .section-title { color: var(--white); }
.storia-header p { font-size: 16px; font-weight: 300; line-height: 1.8; color: rgba(255,255,255,0.55); max-width: 600px; }


/* PRODOTTI GRID */
.section-prodotti { padding: 1px 48px; background: var(--gray-light); margin: 0; }

.section-prodotti .section-label { margin: 0; padding: 28px 0 12px; }
.prodotti-list { display: flex; flex-direction: column; gap: 3px; margin-top: 0px; }

.prodotto-row { background: var(--white); display: grid; grid-template-columns: 280px 1fr; min-height: 200px; transition: box-shadow 0.2s; }
.prodotto-row:hover { box-shadow: 0 4px 24px rgba(0,0,0,0.08); }
.prodotto-sidebar { background: var(--navy); padding: 40px 36px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.prodotto-sidebar::after { content: ''; position: absolute; bottom: -10px; right: -10px; width: 80px; height: 80px; border-radius: 50%; background: rgba(200,114,26,0.08); }
.prod-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 52px; color: rgba(255,255,255,0.05); line-height: 1; margin-bottom: 16px; }
.prod-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 20px; text-transform: uppercase; color: var(--white); line-height: 1.2; letter-spacing: 0.04em; }
.prod-tag { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--amber-light); margin-top: 12px; }
.prodotto-body { padding: 40px 44px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.prod-desc { font-size: 15px; font-weight: 300; line-height: 1.8; color: var(--text-light); }
.prod-desc strong { font-weight: 500; color: var(--text); }

.prod-specs-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--amber); margin-bottom: 12px; }
.prodotti-list ul { list-style: none; }
.prodotti-list ul li { font-size: 13.5px; font-weight: 300; color: var(--text-light); padding: 6px 0; border-bottom: 1px solid #eee; display: flex; align-items: center; gap: 8px; }
.prodotti-list ul li::before { content: ''; display: inline-block; width: 16px; height: 2px; background: var(--amber); flex-shrink: 0; }

.prodotti-footer {
    padding: 30px;
}

.slider { position: relative;  height: 600px; overflow: hidden;}
.slider img {
    width: 100%;
    object-fit: cover;
    transition: opacity 0.8s ease;
}
.slider img.hidden {
    position: absolute;
    top: 0; left: 0;
    opacity: 0;
}

.slider-dots {
    position: absolute;
    bottom: 10px; left: 50%;
    transform: translateX(-50%);
    display: flex; gap: 6px;
}
.dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    transition: background 0.3s;
}
.dot.active { background: #fff; }


.section-elenco { padding: 80px 48px; }

.section-elenco a:link, .section-elenco a:visited { color: inherit; text-decoration: none; }

.elenco-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: 3px; margin-top: 48px; max-width: 1000px; }
.elenco-card { background: var(--white); padding: 32px 28px; border-top: 3px solid var(--amber); }
.elenco-card:hover { background: var(--sand); border-left-color: var(--amber); }
.elenco-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 25px; text-transform: uppercase; color: var(--navy); margin-bottom: 10px; letter-spacing: 0.04em; }
.elenco-text { font-size: 13.5px; font-weight: 300; line-height: 1.7; color: var(--text-light); }
.elenco-cta { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 14px; text-transform: uppercase; color: var(--navy); margin-top: 16px; letter-spacing: 0.04em; }

/* USI */
.section-usi { padding: 80px 48px; background: var(--sand); }
.usi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; margin-top: 48px; }
.uso-card { background: var(--white); padding: 32px 28px; border-top: 3px solid var(--amber); }
.uso-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px; text-transform: uppercase; color: var(--navy); margin-bottom: 10px; letter-spacing: 0.04em; }
.uso-text { font-size: 13.5px; font-weight: 300; line-height: 1.7; color: var(--text-light); }

/* FAQ */
.section-faq { padding: 80px 48px; background: var(--white); }
.faq-list { margin-top: 48px; display: flex; flex-direction: column; gap: 3px; }
.faq-item { background: var(--gray-light); padding: 32px 36px; border-left: 3px solid transparent; transition: border-color 0.2s; cursor: pointer; }
.faq-item:hover { border-left-color: var(--amber); }
.faq-q { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--navy); margin-bottom: 12px; line-height: 1.3; }
.faq-a { font-size: 15px; font-weight: 300; line-height: 1.78; color: var(--text-light); }


/* SEZIONI */
.section-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--amber); margin-bottom: 10px; }
.section-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: clamp(30px, 3.5vw, 46px); line-height: 1.05; text-transform: uppercase; color: var(--navy); margin-bottom: 28px; }
.section-title.light { color: var(--white); }
.body-text { font-size: 16px; font-weight: 300; line-height: 1.82; color: var(--text-light); margin-bottom: 18px; }
.body-text strong { font-weight: 500; color: var(--text); }

/* IMPIANTO  */
.section-impianto { background: var(--gray-light); padding: 80px 48px; }
.impianto-block { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-top: 48px; }
.impianto-foto-single img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 400px; }
.foto-caption { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gray-mid); padding: 8px 0 0; }
.impianto-testo { background: var(--navy); padding: 48px; display: flex; flex-direction: column; justify-content: space-between; }
.impianto-testo .section-label { color: rgba(200,114,26,0.8); }
.impianto-testo .section-title { color: var(--white); font-size: clamp(26px, 3vw, 38px); }
.impianto-testo .body-text { color: rgba(255,255,255,0.58); font-size: 15px; }
.impianto-testo .body-text strong { color: rgba(255,255,255,0.85); font-weight: 500; }
.section-impianto ul { list-style: none; margin-top: 8px; }
.section-impianto ul  li { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: 0.1em; color: rgba(255,255,255,0.5); padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.07); display: flex; align-items: center; gap: 10px; }
.section-impianto ul li::before { content: ''; display: inline-block; width: 14px; height: 2px; background: var(--amber); flex-shrink: 0; }

/* IMPIANTO SCURO  */
.section-impianto.scuro { background: var(--navy); }
.section-impianto.scuro .section-title {color: #fff;}
.section-impianto.scuro .impianto-testo { color: #fff;}
.section-impianto.scuro .impianto-foto-single   { order: -1; } 

/* PRIVACY */
.section-privacy { background: var(--white); padding: 80px 48px; }

.section-privacy h1 { margin-bottom: 28px; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 40px; text-transform: uppercase; color: var(--navy); letter-spacing: 0.04em; }

.section-privacy h2 { margin-bottom: 28px; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px; text-transform: uppercase; color: var(--navy); letter-spacing: 0.04em; }
.section-privacy h3 { margin-bottom: 28px; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 20px; text-transform: uppercase; color: var(--navy); letter-spacing: 0.04em; }
.section-privacy p { font-size: 15px; font-weight: 300; line-height: 1.78; color: var(--text-light); margin-bottom: 18px; max-width: 1280px; }
/* CERTIFICAZIONI */
.section-cert { background: var(--white); padding: 68px 48px; border-top: 1px solid #e5e0d8; }
.cert-header { text-align: center; margin-bottom: 44px; }
.cert-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--amber); margin-bottom: 8px; }
.cert-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 26px; text-transform: uppercase; color: var(--navy); letter-spacing: 0.04em; }
.cert-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background-color: #ddd8d0; /* questo diventa il "bordo" tra le celle */
    border: 1px solid #ddd8d0; /* bordo esterno */
    overflow: hidden;
    margin: 0; /* era "px 0" — mancava il valore */
}



.cert-item {
    padding: 22px 10px;
    text-align: left;
    background-color: #fff;
    transition: background 0.2s;
    display: grid;
    grid-template-columns: 80px 1fr;
    border-right: 1px solid #ddd8d0;
    text-decoration: none;
}
.cert-ext-icon {
    display: inline-block;
    padding: 4px 7px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    line-height: 1;
}

.cert-allegato {
    text-decoration: none;
    padding: 20px;
}

.cert-allegato:hover .cert-ext-icon {
    opacity: 0.8;
}


.cert-item:last-child { border-right: none; }
.cert-item:hover { background: var(--gray-light); }
.cert-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 0.1em; color: var(--navy); text-transform: uppercase; }
.cert-body { font-size: 12px; color: var(--gray-mid); margin-top: 3px; line-height: 1.4; }

.cert-ext-icon {padding: 10px 20px;}

/* DOCUMENTI */
.section-docs { background: var(--white); padding: 68px 48px; border-top: 1px solid #e5e0d8; }
.docs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; margin-top: 32px; }
.doc-card { display: flex; align-items: center; gap: 14px; padding: 20px 22px; background: var(--gray-light); text-decoration: none; transition: background 0.2s; border-left: 3px solid transparent; }
.doc-card:hover { background: var(--sand); border-left-color: var(--amber); }
.doc-icon { font-size: 22px; flex-shrink: 0; }
.doc-body { flex: 1; min-width: 0; }
.doc-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--navy); }
.doc-desc { font-size: 11px; color: var(--gray-mid); margin-top: 3px; }
.doc-arrow { font-size: 16px; color: var(--amber); flex-shrink: 0; }


/* IMPIEGHI */
.section-impieghi { padding: 72px 48px; background: var(--gray-light); }
.impieghi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; margin-top: 40px; }
.impiego-card { background: var(--white); padding: 36px 28px; border-top: 3px solid transparent; transition: border-color 0.3s; }
.impiego-card:hover { border-color: var(--amber); }
.impiego-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 40px; color: rgba(200,114,26,0.15); line-height: 1; margin-bottom: 10px; }
.impiego-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; text-transform: uppercase; color: var(--navy); margin-bottom: 12px; line-height: 1.1; }
.impiego-text { font-size: 14px; font-weight: 300; line-height: 1.75; color: var(--text-light); }


/* Timeline verticale */
.timeline { padding: 0 48px; position: relative; }
.timeline::before { content: ''; position: absolute; left: 96px; top: 0; bottom: 0; width: 1px; background: rgba(200,114,26,0.25); }

.tl-item { display: grid; grid-template-columns: 96px 1fr; gap: 0; margin-bottom: 0; position: relative; }
.tl-year-col { padding: 0 32px 0 0; display: flex; flex-direction: column; align-items: flex-end; padding-top: 4px; }
.tl-year { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; color: var(--amber-light); line-height: 1; position: relative; }
.tl-year::after { content: ''; position: absolute; right: -33px; top: 10px; width: 10px; height: 10px; border-radius: 50%; background: var(--amber); border: 2px solid var(--navy); z-index: 1; }

.tl-content { padding: 0 0 72px 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.tl-content.no-photo { grid-template-columns: 1fr; }
.tl-text-col h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px; text-transform: uppercase; color: var(--white); margin-bottom: 14px; letter-spacing: 0.04em; }
.tl-text-col p { font-size: 15px; font-weight: 300; line-height: 1.78; color: rgba(255,255,255,0.55); margin-bottom: 12px; }
.tl-photo { position: relative; overflow: hidden; }
.tl-photo img { width: 100%; height: 280px; object-fit: cover; object-position: center; filter: sepia(0.3) contrast(1.05); display: block; }
.tl-photo-caption { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.25); padding: 8px 0 0; }

/* STATS */
.stats-bar { background: var(--sand); padding: 0 48px; display: flex; border-bottom: 3px solid var(--amber); }
.stat-item { flex: 1; padding: 28px 16px; border-right: 1px solid #fff; text-align: center; }
.stat-item:last-child { border-right: none; }
.stat-number { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 38px; color: var(--amber-light); line-height: 1; }
.stat-number sup { font-size: 20px; }

.stat-label { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color:var(--amber); margin-top: 6px; }


/* FAQ */
.section-faq { background: var(--gray-light); padding: 96px 48px; }
.faq-grid { display: grid; grid-template-columns: 1fr; gap: 3px; margin-top: 52px; }
.faq-item { background: var(--white); padding: 36px 40px; border-left: 3px solid transparent; transition: border-color 0.2s; }
.faq-item:hover { border-left-color: var(--amber); }
.faq-q { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--navy); margin-bottom: 14px; line-height: 1.3; }
.faq-a { font-size: 14.5px; font-weight: 300; line-height: 1.78; color: var(--text-light); display: none;}
.faq-item.open .faq-a { display: block; }


/* CERTIFICAZIONI */
.section-cert { padding: 96px 48px; background: var(--sand); }
.cert-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-bottom: 56px; align-items: start; }
.cert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }
.cert-card { background: var(--white); padding: 32px 28px; border-top: 3px solid transparent; transition: border-color 0.2s; text-decoration: none; }

.section-cert p { font-size: 16px; font-weight: 300; line-height: 1.82; color: var(--text-light); margin-bottom: 20px; }
.cert-card:hover { border-top-color: var(--amber); }
.cert-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 22px; color: var(--navy); margin-bottom: 8px; letter-spacing: 0.06em; }
.cert-full { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 16px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--amber); margin-bottom: 10px; }
.cert-desc { font-size: 13px; font-weight: 300; line-height: 1.65; color: var(--text-light); }

/* CTA BOTTOM */
.section-cta { background: var(--navy); padding: 72px 48px; display: flex; align-items: center; justify-content: space-between; border-top: 3px solid var(--amber); gap: 40px; }
.cta-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 40px; text-transform: uppercase; color: var(--white); line-height: 1; }
.cta-sub { font-size: 15px; font-weight: 300; color: rgba(255,255,255,0.5); margin-top: 8px; }
.btn-primary { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--white); background: var(--amber); padding: 15px 34px; text-decoration: none; transition: background 0.2s; display: inline-block; white-space: nowrap; }
.btn-primary:hover { background: var(--amber-light); }
.btn-ghost { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.75); border: 1px solid rgba(255,255,255,0.25); padding: 14px 30px; text-decoration: none; transition: all 0.2s; display: inline-block; white-space: nowrap; }
.btn-ghost:hover { border-color: var(--white); color: var(--white); }
.cta-buttons { display: flex; gap: 14px; }


.gallery-section { padding: var(--sp-xl) 0; border-bottom: 1px solid var(--grigio-chiaro); }
.gallery-titolo { font-family: 'Playfair Display', serif; font-size: clamp(24px, 5vw, 36px); font-weight: 500; color: var(--nero); margin-bottom: var(--sp-lg); }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 8px; }
.gallery-item { position: relative; overflow: hidden; aspect-ratio: 1; cursor: pointer; background: var(--grigio-chiaro); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; display: block; }
.gallery-item:hover img { transform: scale(1.05); }
.gallery-caption { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,.6)); color: #fff; font-size: 11px; padding: 20px 10px 8px; opacity: 0; transition: opacity .2s; }
.gallery-item:hover .gallery-caption { opacity: 1; }

/* Lightbox */
.gallery-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.92); display: none; align-items: center; justify-content: center; }
.gallery-lightbox.open { display: flex; }
.gallery-lb-inner { max-width: 90vw; max-height: 90vh; display: flex; flex-direction: column; align-items: center; }
.gallery-lb-img { max-width: 90vw; max-height: 80vh; object-fit: contain; display: block; }
.gallery-lb-caption { color: rgba(255,255,255,.6); font-size: 12px; margin-top: 12px; text-align: center; }
.gallery-lb-close { position: absolute; top: 20px; right: 24px; background: none; border: none; color: #fff; font-size: 32px; cursor: pointer; line-height: 1; opacity: .7; transition: opacity .2s; }
.gallery-lb-close:hover { opacity: 1; }
.gallery-lb-prev, .gallery-lb-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: #fff; font-size: 28px; cursor: pointer; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.gallery-lb-prev { left: 16px; }
.gallery-lb-next { right: 16px; }
.gallery-lb-prev:hover, .gallery-lb-next:hover { background: rgba(255,255,255,.2); }

/* ============================================================
   RESPONSIVE — breakpoint 1024px / 768px / 480px
   ============================================================ */

/* ── TABLET LANDSCAPE (≤ 1024px) ── */
@media (max-width: 1024px) {

  /* Hero */
  .page-hero { padding: 80px 32px 56px; }
  .anchor-nav-inner { padding: 0 32px; }

  /* Layout generali */
  .section-duecolonne { padding: 72px 32px; }
  .duecolonne-grid { gap: 48px; }

  .section-attivita { padding: 72px 32px; }
  .attivita-intro { gap: 48px; }
  .lavorazioni-grid { grid-template-columns: repeat(2, 1fr); }

  .section-impianti { padding: 72px 32px; }
  .impianti-intro { gap: 48px; }
  .impianti-grid { grid-template-columns: repeat(2, 1fr); }

  .section-prodotti { padding: 0 32px; }
  .prodotto-row { grid-template-columns: 220px 1fr; }

  .section-usi { padding: 64px 32px; }
  .usi-grid { grid-template-columns: repeat(2, 1fr); }

  .section-faq { padding: 64px 32px; }

  .section-cert { padding: 64px 32px; }
  .cert-intro { gap: 48px; }
  .cert-grid { grid-template-columns: repeat(2, 1fr); }

  .section-docs { padding: 56px 32px; }
  .docs-grid { grid-template-columns: repeat(2, 1fr); }

  .section-impieghi { padding: 56px 32px; }
  .impieghi-grid { grid-template-columns: repeat(2, 1fr); }

  .section-impianto { padding: 64px 32px; }

  .stats-bar { padding: 0 32px; }
  .stat-number { font-size: 30px; }

  .storia-header { padding: 0 32px; }
  .timeline { padding: 0 32px; }
  .tl-content { gap: 32px; }

  .section-cta { padding: 56px 32px; }
  .cta-title { font-size: 32px; }

  .section-privacy { padding: 64px 32px; }
}


/* ── TABLET PORTRAIT (≤ 768px) ── */
@media (max-width: 768px) {

    .gallery-grid { display: grid; grid-template-columns: repeat(1,1fr); gap: 8px; }
  /* Hero */
  .page-hero { padding: 64px 24px 48px; margin-top: 48px; }
  .page-hero-img,
  .page-hero-gradient { height: 460px; }

  /* Anchor nav */
  .anchor-nav { top: 60px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .anchor-nav-inner { padding: 0 24px; gap: 0; }
  .anchor-nav a { padding: 14px 16px; font-size: 11px; }

  /* Griglie a colonna singola */
  .duecolonne-grid,
  .attivita-intro,
  .impianti-intro,
  .cert-intro,
  .impianto-block { grid-template-columns: 1fr; gap: 32px; }

  .section-duecolonne { padding: 56px 24px; }
  .section-attivita { padding: 56px 24px; }
  .lavorazioni-grid { grid-template-columns: 1fr; }

  .section-impianti { padding: 56px 24px; }
  .impianti-grid { grid-template-columns: 1fr; }

  /* Prodotti */
  .section-prodotti { padding: 0 24px; }
  .prodotto-row { grid-template-columns: 1fr; }
  .prodotto-sidebar { padding: 28px 24px; flex-direction: row; align-items: center; gap: 24px; }
  .prod-num { font-size: 36px; margin-bottom: 0; }
  .prodotto-body { padding: 24px; grid-template-columns: 1fr; gap: 20px; }

  /* Usi */
  .section-usi { padding: 48px 24px; }
  .usi-grid { grid-template-columns: repeat(2, 1fr); }

  /* FAQ */
  .section-faq { padding: 48px 24px; }
  .faq-item { padding: 24px 28px; }

  /* Certificazioni */
  .section-cert { padding: 48px 24px; }
  .cert-grid { grid-template-columns: repeat(2, 1fr); }
  .cert-item { grid-template-columns: 1fr; }

  /* Documenti */
  .section-docs { padding: 48px 24px; }
  .docs-grid { grid-template-columns: repeat(2, 1fr); }

  /* Impieghi */
  .section-impieghi { padding: 48px 24px; }
  .impieghi-grid { grid-template-columns: 1fr; }

  /* Impianto */
  .section-impianto { padding: 48px 24px; }
  .impianto-testo { padding: 32px 28px; }
  .section-impianto.scuro .impianto-foto-single { order: 0; }
  .impianto-foto-single img { min-height: 260px; }

  /* Numeri */
  .numeri-grid { grid-template-columns: repeat(2, 1fr); }

  /* Stats */
  .stats-bar { flex-wrap: wrap; }
  .stat-item { flex: 1 1 50%; border-right: none; border-right: 0; border-bottom: 1px solid #fff; }
  .stat-item:last-child,
  .stat-item:nth-last-child(-n+2):nth-child(odd) { border-bottom: none; }
  .stat-number { font-size: 28px; }

  /* Storia / timeline */
  .storia-header { padding: 0 24px; }
  .timeline { padding: 0 24px; }
  .timeline::before { left: 72px; }
  .tl-item { grid-template-columns: 72px 1fr; }
  .tl-content { grid-template-columns: 1fr; gap: 24px; padding-bottom: 48px; }
  .tl-photo img { height: 200px; }

  /* CTA */
  .section-cta { flex-direction: column; align-items: flex-start; padding: 48px 24px; gap: 28px; }
  .cta-title { font-size: 28px; }
  .cta-buttons { flex-wrap: wrap; }

  /* Privacy */
  .section-privacy { padding: 48px 24px; }
}


/* ── MOBILE (≤ 480px) ── */
@media (max-width: 480px) {

  /* Hero */
  .page-hero { padding: 48px 16px 40px; }
  .page-hero-img,
  .page-hero-gradient { height: 380px; }
  .page-hero p { font-size: 15px; }

  /* Anchor nav */
  .anchor-nav-inner { padding: 0 16px; }
  .anchor-nav a { padding: 12px 12px; font-size: 10px; letter-spacing: 0.14em; }

  /* Sezioni */
  .section-duecolonne { padding: 40px 16px; }
  .section-attivita { padding: 40px 16px; }
  .section-impianti { padding: 40px 16px; }
  .section-prodotti { padding: 0 16px; }
  .section-usi { padding: 40px 16px; }
  .section-faq { padding: 40px 16px; }
  .section-cert { padding: 40px 16px; }
  .section-docs { padding: 40px 16px; }
  .section-impieghi { padding: 40px 16px; }
  .section-impianto { padding: 40px 16px; }
  .section-cta { padding: 40px 16px; }
  .section-privacy { padding: 40px 16px; }

  /* Usi a colonna singola */
  .usi-grid { grid-template-columns: 1fr; }

  /* Documenti a colonna singola */
  .docs-grid { grid-template-columns: 1fr; }

  /* Certificazioni a colonna singola */
  .cert-grid { grid-template-columns: 1fr; }

  /* Numeri a colonna singola */
  .numeri-grid { grid-template-columns: 1fr; }

  /* Prodotti */
  .prodotto-sidebar { flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px 16px; }
  .prodotto-body { padding: 16px; }

  /* Stats a colonna singola */


  /* Timeline */
  .timeline::before { left: 0px; }
  .tl-year-col {
    align-items: flex-start;
    padding: 10px 0;
  }
      .tl-year::after {
        display: none;
      }
  .tl-item { grid-template-columns: repeat(1, 1fr); }
  .tl-year { font-size: 20px; }
  .tl-year::after { right: -25px; width: 8px; height: 8px; top: 8px; }
  .tl-content { padding-left: 0px; padding-bottom: 40px; }
  .tl-photo img { height: 180px; }

  /* Lavorazioni */
  .lavorazione-card { padding: 24px 20px; }

  /* CTA */
  .cta-title { font-size: 24px; }
  .cta-buttons { flex-direction: column; width: 100%; }
  .btn-primary,
  .btn-ghost { text-align: center; }

  /* FAQ */
  .faq-item { padding: 20px 16px; }
  .faq-q { font-size: 15px; }

  /* Impianto */
  .impianto-testo { padding:10px 10px; }
  .impianto-foto-single img { min-height: 220px; }
}