:root{
  --dark:#171717;
  --text:#2c2c2c;
  --muted:#6f7378;
  --light:#f5f6f7;
  --orange:#f36b16;
  --orange-soft:#fff3eb;
  --line:#e8e8e8;
  --radius:34px;
  --shadow:0 18px 50px rgba(0,0,0,.08);
  --shadow-soft:0 10px 35px rgba(0,0,0,.05);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:#fff;
}

a{
  color:inherit;
}

img{
  display:block;
  max-width:100%;
}

.container{
  width:min(1160px,92%);
  margin:auto;
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}

.header-inner{
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand img{
  width:245px;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:26px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.main-nav a{
  color:#292929;
  text-decoration:none;
  transition:.2s ease;
}

.main-nav a.active,
.main-nav a:hover{
  color:var(--orange);
}

.menu-toggle{
  display:none;
  border:0;
  background:transparent;
  color:#171717;
  border-radius:0;
  padding:8px;
  cursor:pointer;
  font-size:24px;
  line-height:1;
}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--orange);
  color:#fff!important;
  text-decoration:none;
  border-radius:999px;
  padding:15px 24px;
  font-weight:800;
  border:0;
  cursor:pointer;
  transition:.2s ease;
  box-shadow:0 10px 30px rgba(243,107,22,.18);
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(243,107,22,.24);
}

.btn-outline{
  background:#fff;
  color:var(--dark)!important;
  border:1px solid var(--line);
  box-shadow:none;
}

.btn-small{
  padding:11px 17px;
}

/* TYPOGRAPHY */
.eyebrow{
  display:inline-flex;
  gap:10px;
  align-items:center;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:800;
  color:var(--orange);
  margin-bottom:18px;
}

.eyebrow:before{
  content:"";
  width:38px;
  height:3px;
  background:var(--orange);
  border-radius:9px;
}

h1{
  font-size:clamp(42px,6vw,76px);
  line-height:.96;
  margin:0 0 22px;
  color:#161616;
  letter-spacing:-.055em;
}

h2{
  font-size:clamp(30px,4vw,48px);
  line-height:1.05;
  letter-spacing:-.04em;
  margin:0 0 16px;
  color:#171717;
}

h3{
  font-size:22px;
  margin:0 0 10px;
  color:#171717;
}

.lead{
  font-size:20px;
  line-height:1.65;
  color:var(--muted);
  margin:0 0 28px;
}

/* HOME HERO */
.hero-split-slider{
  width:100%;
  display:grid;
  grid-template-columns:minmax(24px,calc((100vw - 1160px)/2)) 360px minmax(0,1fr);
  min-height:calc(100vh - 82px);
  overflow:hidden;
  background:#fff;
}

.hero-copy{
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:48px 0 56px;
}

.hero-copy-inner{
  width:100%;
  max-width:360px;
  min-height:calc(100vh - 190px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.hero-copy .eyebrow{
  margin-bottom:20px;
}

.hero-copy h1{
  font-size:clamp(35px,4vw,56px);
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:-.04em;
  margin:0 0 38px;
  color:#171717;
  max-width:340px;
}

.anniversary-logo{
  width:118px;
  margin:0;
}

.hero-slider{
  grid-column:3;
  position:relative;
  min-height:calc(100vh - 82px);
  margin-left:42px;
  margin-right:0;
  align-self:start;
  border-bottom-left-radius:36px;
  overflow:hidden;
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .45s ease;
  border-bottom-left-radius:36px;
  overflow:hidden;
}

.hero-slide.active{
  opacity:1;
}

.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.hero-slider:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(0,0,0,.04));
  pointer-events:none;
}

.slider-arrows{
  position:absolute;
  left:28px;
  bottom:28px;
  z-index:5;
  display:flex;
  gap:10px;
}

.slider-arrow{
  position:relative;
  width:58px;
  height:58px;
  border:0;
  border-radius:999px;
  background:#fff;
  box-shadow:0 14px 35px rgba(0,0,0,.14);
  cursor:pointer;
  transition:.2s ease;
}

.slider-arrow:hover{
  transform:translateY(-2px);
}

.slider-arrow:before{
  content:"";
  position:absolute;
  top:19px;
  width:20px;
  height:20px;
  border-top:2px solid #171717;
  border-right:2px solid #171717;
}

.slider-arrow.prev:before{
  left:23px;
  transform:rotate(-135deg);
  border-color:#171717;
}

.slider-arrow.next:before{
  right:23px;
  transform:rotate(45deg);
  border-color:var(--orange);
}

/* SECTIONS */
.section{
  padding:85px 0;
}

.intro-section{
  padding-top:95px;
}

.section.light{
  background:var(--light);
}

.section-head{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:34px;
}

.section-head p{
  max-width:560px;
  color:var(--muted);
  line-height:1.7;
}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}

.rounded-img{
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.rounded-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.text p,
.card p{
  line-height:1.75;
  color:var(--muted);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

/* CARDS & SERVICES */
.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.service-cards{
  grid-template-columns:repeat(3,1fr);
}

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:36px;
  padding:34px;
  box-shadow:var(--shadow-soft);
  transition:.22s ease;
}

.card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow);
}

.card h3{
  font-size:18px;
  margin-bottom:14px;
}

.card .icon{
  width:96px;
  height:96px;
  border-radius:30px;
  background:linear-gradient(135deg,#fff6ef 0%,#fff1e7 100%);
  color:var(--orange);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:28px;
  font-size:0;
}

.card .icon svg{
  width:64px;
  height:64px;
  stroke:var(--orange);
  stroke-width:2.4;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.card .icon svg path,
.card .icon svg circle{
  vector-effect:non-scaling-stroke;
}

.highlight-card{
  background:#171717;
  color:#fff;
}

.highlight-card h3{
  color:#fff;
}

.highlight-card p{
  color:#d8d8d8;
}

.section-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:30px;
}

.section-actions .btn{
  width:calc((100% - 60px) / 4);
  min-width:230px;
  min-height:64px;
  padding:18px 24px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* LISTS */
.check-list{
  list-style:none;
  padding:0;
  margin:24px 0 0;
  display:grid;
  gap:14px;
}

.check-list li{
  padding-left:32px;
  position:relative;
  font-weight:700;
}

.check-list li:before{
  content:"\2713";
  position:absolute;
  left:0;
  top:-2px;
  color:var(--orange);
  font-weight:900;
}

/* PAGE HERO */
.page-hero{
  padding:80px 0 40px;
  border-bottom:1px solid var(--line);
}

/* NOLEGGIO ELEVATORE */
.noleggio-elevatore-section{
  padding-bottom:35px;
}

.noleggio-elevatore-box{
  background:var(--light);
  border-radius:28px;
  padding:46px 54px;
}

.noleggio-elevatore-box p{
  max-width:980px;
  line-height:1.65;
  color:var(--text);
  margin:0;
}

/* GALLERY */
.gallery-section{
  padding:85px 0 0;
}

.gallery-wrapper{
  position:relative;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}

.gallery-grid img{
  width:100%;
  height:150px;
  object-fit:cover;
  border-radius:18px;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
  transition:.25s ease;
}

.gallery-grid img:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}

.gallery-nav{
  display:none;
}

/* LIGHTBOX */
.lightbox{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.92);
  z-index:9999;
  justify-content:center;
  align-items:center;
  padding:24px;
}

.lightbox.active{
  display:flex;
}

.lightbox-image{
  max-width:90%;
  max-height:85vh;
  border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}

.lightbox-close{
  position:absolute;
  top:20px;
  right:30px;
  font-size:46px;
  line-height:1;
  color:#fff;
  cursor:pointer;
  z-index:2;
}

.lightbox-prev,
.lightbox-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:38px;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
}

.lightbox-prev:hover,
.lightbox-next:hover{
  background:var(--orange);
}

.lightbox-prev{
  left:25px;
}

.lightbox-next{
  right:25px;
}

/* CTA */
.cta{
  background:#151515;
  color:#fff;
  border-radius:32px;
  padding:50px 54px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}

.cta h2{
  color:#fff;
  margin-bottom:10px;
}

.cta p{
  color:#c9c9c9;
  margin:0;
}

/* CONTACTS & FORMS */
.contact-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:40px;
}

.contact-columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.contact-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:34px;
  padding:30px;
  box-shadow:var(--shadow);
  transition:.2s ease;
  overflow:hidden;
}

.contact-box:hover{
  transform:translateY(-3px);
}

.contact-box h3{
  color:#171717;
}

.contact-box p{
  line-height:1.75;
  color:var(--muted);
}

.contact-box a{
  color:#171717;
  font-weight:700;
  text-decoration-color:var(--orange);
  text-underline-offset:3px;
}

.contact-icon{
  width:62px;
  height:62px;
  border-radius:22px;
  background:#fff3eb;
  color:var(--orange);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
}

.contact-icon svg{
  width:32px;
  height:32px;
  stroke:currentColor;
  stroke-width:1.9;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-columns .contact-box h3{
  font-size:25px;
  margin-bottom:14px;
}

.form{
  display:grid;
  gap:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:34px;
  padding:30px;
  box-shadow:var(--shadow);
}

.form h2,
.contact-grid .contact-box h2{
  font-size:clamp(32px,3vw,44px);
}

.form input,
.form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  font:inherit;
  background:#fff;
}

.form textarea{
  min-height:150px;
  resize:vertical;
}

.privacy{
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.privacy input{
  width:auto;
  margin-top:3px;
}

/* FOOTER */
.footer{
  background:#111;
  color:#cfcfcf;
  padding-top:44px;
  font-size:15px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:44px;
  align-items:start;
}

.footer-logo{
  width:205px;
  margin-bottom:18px;
}

.footer h4{
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin:0 0 12px;
  color:#fff;
}

.footer p{
  line-height:1.65;
  margin:0;
  color:#bdbdbd;
}

.footer a{
  color:#fff;
  text-decoration:none;
}

.footer-bottom{
  border-top:1px solid #2b2b2b;
  text-align:center;
  margin-top:34px;
  padding:17px;
  color:#888;
  font-size:13px;
}

/* SCROLL TO TOP */
.scroll-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:54px;
  height:54px;
  border:0;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  box-shadow:0 14px 34px rgba(243,107,22,.28);
  cursor:pointer;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:.22s ease;
}

.scroll-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.scroll-top:before{
  content:"";
  width:15px;
  height:15px;
  border-top:3px solid currentColor;
  border-left:3px solid currentColor;
  transform:rotate(45deg);
  margin-top:7px;
}

.scroll-top:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(243,107,22,.34);
}

/* RESPONSIVE */
@media(max-width:1200px){
  .hero-split-slider{
    grid-template-columns:4% 340px minmax(0,1fr);
  }

  .hero-slider{
    margin-left:34px;
  }
}

@media(max-width:1024px){
  .gallery-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .gallery-grid img{
    height:190px;
  }
}

@media(max-width:900px){
  .menu-toggle{
    display:block;
  }

  .main-nav{
    display:none;
    position:absolute;
    top:82px;
    left:0;
    right:0;
    background:#fff;
    padding:32px 22px 34px;
    flex-direction:column;
    border-bottom:1px solid var(--line);
    gap:24px;
    font-size:17px;
    letter-spacing:.08em;
    box-shadow:0 18px 35px rgba(0,0,0,.06);
  }

  .main-nav.open{
    display:flex;
  }

  .main-nav .btn{
    font-size:15px;
    padding:16px 24px;
    margin-top:4px;
  }

  .hero-split-slider{
    grid-template-columns:1fr;
    width:100%;
    overflow:hidden;
  }

  .hero-copy{
    grid-column:1;
    padding:45px 6%;
  }

  .hero-copy-inner{
    width:100%;
    max-width:none;
    min-height:auto;
    justify-content:flex-start;
  }

  .hero-copy h1{
    margin-bottom:28px;
    max-width:none;
  }

  .anniversary-logo{
    width:116px;
  }

  .hero-slider{
    grid-column:1;
    margin-left:0;
    min-height:430px;
    border-bottom-left-radius:0;
  }

  .hero-slide{
    border-bottom-left-radius:0;
  }

  .slider-arrows{
    left:18px;
    bottom:18px;
  }

  .split,
  .contact-grid,
  .contact-columns{
    grid-template-columns:1fr;
  }

  .cards,
  .service-cards{
    grid-template-columns:1fr 1fr;
  }

  .section-head,
  .cta{
    display:block;
  }

  .section-actions .btn{
    width:100%;
  }
}

@media(max-width:768px){
  .gallery-section{
    padding:60px 0 0;
  }

  .gallery-wrapper{
    overflow:hidden;
  }

  .gallery-grid{
    display:flex;
    overflow-x:auto;
    scroll-behavior:smooth;
    gap:12px;
    padding:4px 0 12px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .gallery-grid::-webkit-scrollbar{
    display:none;
  }

  .gallery-grid img{
    min-width:82%;
    height:230px;
    scroll-snap-align:center;
  }

  .gallery-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:var(--orange);
    color:#fff;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    cursor:pointer;
    box-shadow:0 10px 28px rgba(243,107,22,.26);
  }

  .gallery-nav.prev{
    left:8px;
  }

  .gallery-nav.next{
    right:8px;
  }

  .lightbox-prev,
  .lightbox-next{
    width:44px;
    height:44px;
    font-size:30px;
  }

  .lightbox-prev{
    left:12px;
  }

  .lightbox-next{
    right:12px;
  }

  .lightbox-close{
    top:16px;
    right:20px;
  }
}

@media(max-width:560px){
  .brand img{
    width:200px;
  }

  .header-inner{
    height:76px;
  }

  .main-nav{
    top:76px;
  }

  .scroll-top{
    right:16px;
    bottom:16px;
    width:48px;
    height:48px;
  }

  h1{
    font-size:42px;
  }

  .section{
    padding:56px 0;
  }

  .noleggio-elevatore-section{
    padding-bottom:24px;
  }

  .noleggio-elevatore-box{
    padding:34px 26px;
    border-radius:26px;
  }

  .gallery-grid img{
    min-width:86%;
    height:220px;
  }

  .cards,
  .service-cards,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .card{
    padding:28px;
    border-radius:30px;
  }

  .card .icon{
    width:86px;
    height:86px;
    border-radius:28px;
  }

  .card .icon svg{
    width:58px;
    height:58px;
  }

  .cta{
    padding:34px;
  }

  .hero-copy h1{
    font-size:32px;
  }

  .hero-slider{
    min-height:360px;
  }

  .slider-arrow{
    width:52px;
    height:52px;
  }

  .slider-arrow:before{
    top:17px;
    width:18px;
    height:18px;
  }

  .slider-arrow.prev:before{
    left:21px;
  }

  .slider-arrow.next:before{
    right:21px;
  }

  .footer{
    text-align:left;
  }
}

/* CARD LINK SERVIZI */
.service-link-card{display:block;text-decoration:none;color:inherit;position:relative}
.card-more{display:inline-flex;margin-top:10px;font-weight:800;color:var(--orange);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.card-more:after{content:"→";margin-left:8px}

/* NOLEGGIO ELEVATORE */
.noleggio-elevatore-section{padding-bottom:18px}
.noleggio-elevatore-box{background:#f3f4f6;border-radius:28px;padding:42px 54px}
.noleggio-elevatore-box p{max-width:980px;line-height:1.65;margin:0;color:var(--text)}

/* GALLERY SERVIZI */
.gallery-section{padding:18px 0 35px}
.gallery-wrapper{position:relative}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.gallery-grid img{width:100%;height:150px;object-fit:cover;border-radius:18px;cursor:pointer;box-shadow:var(--shadow-soft);transition:.25s ease;background:#fff}
.gallery-grid img:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gallery-nav{display:none}
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;justify-content:center;align-items:center;padding:24px}
.lightbox.active{display:flex}
.lightbox-image{max-width:90%;max-height:85vh;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.lightbox-close{position:absolute;top:20px;right:30px;font-size:46px;line-height:1;color:#fff;cursor:pointer;z-index:2}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:38px;line-height:1;cursor:pointer;transition:.2s ease}
.lightbox-prev:hover,.lightbox-next:hover{background:var(--orange)}
.lightbox-prev{left:25px}.lightbox-next{right:25px}
.cta-service-section{padding-top:36px}

/* PAGINE GALLERY SERVIZIO */
.service-photo-gallery{padding-top:55px}
.service-main-photo{width:100%;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#fff;display:flex;align-items:center;justify-content:center}
.service-main-photo img{width:100%;height:min(68vh,680px);object-fit:contain;display:block;background:#fff}
.service-thumbs-wrap{position:relative;margin-top:22px;display:flex;align-items:center;gap:14px}
.service-thumbs{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;padding:30px 0 15px;flex:1}
.service-thumbs::-webkit-scrollbar{height:6px}.service-thumbs::-webkit-scrollbar-thumb{background:#ddd;border-radius:99px}
.service-thumb{border:0;background:transparent;padding:0;cursor:pointer;border-radius:18px;scroll-snap-align:start;opacity:.72;transition:.2s ease;flex:0 0 170px}
.service-thumb.active,.service-thumb:hover{opacity:1;transform:translateY(-2px)}
.service-thumb img{width:170px;height:105px;object-fit:contain;border-radius:18px;border:3px solid transparent;box-shadow:var(--shadow-soft);background:#fff}
.service-thumb.active img{border-color:var(--orange)}
.service-thumb-arrow{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:var(--orange);color:#fff;cursor:pointer;font-size:24px;box-shadow:0 10px 28px rgba(243,107,22,.22)}

@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid img{height:190px}}
@media(max-width:768px){
  .gallery-section{padding:10px 0 30px}.gallery-wrapper{overflow:hidden}.gallery-grid{display:flex;overflow-x:auto;scroll-behavior:smooth;gap:12px;padding:4px 0 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.gallery-grid::-webkit-scrollbar{display:none}.gallery-grid img{min-width:82%;height:230px;scroll-snap-align:center}.gallery-nav{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;background:var(--orange);color:#fff;position:absolute;top:50%;transform:translateY(-50%);z-index:5;cursor:pointer;box-shadow:0 10px 28px rgba(243,107,22,.26)}.gallery-nav.prev{left:8px}.gallery-nav.next{right:8px}
  .noleggio-elevatore-box{padding:34px 26px}
  .service-main-photo img{height:52vh}.service-thumb{flex-basis:145px}.service-thumb img{width:145px;height:92px}.service-thumb-arrow{width:40px;height:40px;flex-basis:40px}
}
@media(max-width:560px){.gallery-grid img{min-width:86%;height:220px}.noleggio-elevatore-section{padding-bottom:10px}.service-main-photo{border-radius:26px}.service-main-photo img{height:420px}.service-thumbs-wrap{gap:8px}.service-thumb-arrow{display:none}.service-thumbs{padding-left:0}.service-thumb{flex-basis:125px}.service-thumb img{width:125px;height:82px}}


/* Gallery pagine servizio - aggiornamento frecce e ritorno */
.back-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:800;
  color:var(--orange);
  text-decoration:none;
  margin-bottom:18px;
}

.back-eyebrow:before{
  content:"←";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:3px;
  color:var(--orange);
  font-size:22px;
  line-height:1;
}

.back-eyebrow:hover{
  color:#d95708;
}

.service-main-photo{
  position:relative;
}

.service-main-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:58px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--orange);
  font-size:34px;
  line-height:1;
  cursor:pointer;
  z-index:3;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  transition:.2s ease;
}

.service-main-arrow:hover{
  background:var(--orange);
  color:#fff;
  transform:translateY(-50%) scale(1.04);
}

.service-main-arrow.prev{
  left:22px;
}

.service-main-arrow.next{
  right:22px;
}

@media(max-width:768px){
  .service-main-arrow{
    width:48px;
    height:48px;
    font-size:28px;
  }

  .service-main-arrow.prev{
    left:12px;
  }

  .service-main-arrow.next{
    right:12px;
  }
}

/* Messaggi form preventivo */
.form-success,
.form-error {
  padding: 14px 16px;
  border-radius: 16px;
  line-height: 1.5;
  font-weight: 700;
}

.form-success {
  background: #e9f8ef;
  color: #1d6b39;
  border: 1px solid #bfe8cd;
}

.form-error {
  background: #fff3eb;
  color: #8a3700;
  border: 1px solid #ffd7bd;
}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* V26 - ripristino box servizi */
.service-cta-card{
  background:#111;
  color:#fff;
  border-color:#111;
}

.service-cta-card h3{
  color:#fff;
}

.service-cta-card p{
  color:#d7d7d7;
}

.service-cta-card:hover{
  background:#111;
}

.noleggio-elevatore-box{
  background:var(--orange);
  color:#fff;
  text-align:center;
  box-shadow:0 18px 40px rgba(243,107,22,.20);
}

.noleggio-elevatore-box h2{
  color:#fff;
  margin:0;
}

@media(max-width:760px){
  .noleggio-elevatore-box{
    padding:34px 24px;
  }
}


/* v27 - Gallery servizi: mostra le foto intere senza tagliarle */
.service-main-photo,
.service-thumb img{
  background:#fff;
}
.service-main-photo img,
.service-thumb img{
  object-fit:contain;
}

/* Legal pages */
.legal-page .narrow{
  max-width: 920px;
}
.legal-page h2{
  margin-top: 34px;
  margin-bottom: 10px;
  font-size: 1.35rem;
  color: var(--dark);
}
.legal-page p{
  color: var(--muted);
  line-height: 1.75;
}
.footer-legal{
  margin-top: 12px;
  line-height: 1.8;
}
.footer-legal a{
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
