/* Tribuzio Engineering: tema oro e marrone, caricato dopo il tema originale. */
:root {
  --lux-brown: #422916;
  --lux-gold: #b68a39;
  --lux-border: #bca16b;
  --lux-surface: #fbf4df;
  --lux-background: radial-gradient(ellipse at 12% 0%, #fff9e9 0%, transparent 48%),
    linear-gradient(118deg, #e8d3a0 0%, #fff7df 32%, #e5cb91 64%, #f7e9c7 100%);
}
html body {
  background: var(--lux-background);
  color: var(--lux-brown);
  font-weight: 700;
}
body .page-wrapper, body main { background: transparent; }
body :is(p, a, h1, h2, h3, h4, h5, h6, label, input, textarea, select, button, li, dt, dd, th, td, blockquote),
body :is(.title, .subtitle, .heading, .elementor-heading-title, .contacts-block, .paging-info),
body :is(p, a, h1, h2, h3, h4, h5, h6, label, button) span {
  color: var(--lux-brown) !important;
  font-weight: 700 !important;
}
body :is(h1, h2, h3, h4, h5, h6, .heading .title, .heading .subtitle) {
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.025em;
}
body p { line-height: 1.8; }
body a:hover { color: #704412 !important; }
body :focus-visible { outline: 3px solid #704412; outline-offset: 5px; }
body ::selection { background: #d5b264; color: #301b0d; }

/* Superfici chiare in oro satinato, bordi sottili e ombre calde. */
body .elementor .elementor-top-section {
  background-color: #f6e9c9 !important;
  background-image: var(--lux-background) !important;
}
body .elementor .elementor-top-section:nth-child(even) {
  background-image: linear-gradient(120deg, #fff9ec, #f1dfb5 70%, #e3c88e) !important;
}
body :is(.header, header#header, .mobile-nav, .mobile-nav .nav-inner, .main-menu .sub-menu) {
  background: linear-gradient(110deg, #fffaf0, #f1dfb5) !important;
  border-bottom: 1px solid var(--lux-border);
  box-shadow: 0 8px 32px #57341412;
}
body :is(.topbar, .top-line, .promo-contacts, .promo-socials, .footer, footer, #nt-footer) {
  background: linear-gradient(115deg, #d4b16a, #f8e6b5 48%, #cfa95e) !important;
  color: var(--lux-brown) !important;
  border-color: var(--lux-border) !important;
}
body :is(.topbar, .top-line, footer, #nt-footer, .mobile-nav) :is(div, span) {
  color: var(--lux-brown) !important;
}
body .hamburger-inner, body .hamburger-inner::before, body .hamburger-inner::after {
  background-color: var(--lux-brown) !important;
}

/* La velatura oro mantiene leggibile il marrone sulle fotografie originali. */
body .main-promo .slider-item .overlay {
  background: linear-gradient(90deg, #faedceeF 0%, #f2dfb3e8 42%, #dec18b80 75%, #ba8a4233 100%) !important;
  opacity: 1 !important;
}
body .promo-primary .overlay {
  background: linear-gradient(100deg, #f8eacbea, #d8b775b8) !important;
  opacity: 1 !important;
}
body .main-promo .title { font-size: clamp(2.25rem, 4.2vw, 4.75rem) !important; line-height: 1.13 !important; }
body .main-promo .title span { font-family: inherit; font-size: inherit !important; line-height: inherit !important; }
body .main-promo .subtitle { max-width: 42rem; }
body .promo-primary .title { text-shadow: none; }
body .main-promo .slider-nav .inner-block { background: #f8ebcd !important; }
body .slick-dots li button { background: #cab077 !important; }
body .slick-dots li.slick-active button { background: var(--lux-brown) !important; }
body .slick-dots::after { background: var(--lux-border) !important; }

body .r-button, body .btn-scroll-top, body .fancy-video {
  background: linear-gradient(115deg, #e0bd70, #ffedbe 48%, #caa252) !important;
  color: var(--lux-brown) !important;
  border: 1px solid #9b7430 !important;
  box-shadow: 0 5px 18px #6b421b1c;
}
body .r-button span { background: transparent !important; }
body .r-button::before {
  background: linear-gradient(115deg, #c6a056, #f1dba3) !important;
  color: var(--lux-brown) !important;
}
body .btn-scroll-top svg { color: var(--lux-brown); }
body :is(.form-field, .form-control, input:not([type=hidden]), textarea, select) {
  background-color: #fffaf0 !important;
  border-color: var(--lux-border) !important;
  color: var(--lux-brown) !important;
}
body ::placeholder { color: #70563b !important; opacity: 1; }
body :is(.primary-heading, .heading) :is(.title, .subtitle)::before,
body :is(.primary-heading, .heading) :is(.title, .subtitle)::after {
  background-color: var(--lux-gold) !important;
}
body .loader01 { border-color: #b68a39; border-right-color: transparent; }
body .loader01::after { background: #b68a39; }
body #nt-preloader { background: #f9edcf; }

/* Riquadro formazione attrezzature: oro con testo marrone scuro. */
body.home .product-info .text-holder {
  background: linear-gradient(120deg, #fff0c4 0%, #e4c174 100%) !important;
  border: 1px solid #b68a39;
  box-shadow: 0 12px 32px rgba(66, 41, 22, .14);
}
body.home .product-info .text-holder,
body.home .product-info .text-holder .title,
body.home .product-info .text-holder .text {
  color: #422916 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* Lo studio: mantieni lo sfondo fotografico sopra l'oro e sotto il testo. */
body .about {
  position: relative;
  isolation: isolate;
}
body .about > .bg-holder {
  position: relative;
  z-index: 0;
}
body .about .bg-holder .img-holder {
  isolation: isolate;
  z-index: 0;
}
body .about > .container {
  position: relative;
  z-index: 1;
}
/* Scritta verticale "Chi Siamo", valida anche fuori dai breakpoint mobile. */
body .about .bg-holder .text-holder span {
  color: #422916 !important;
  font-weight: 900 !important;
}
@media (min-width: 768px) {
  body .about > .bg-holder { position: absolute; }
}

/* Le foto dei laboratori devono restare sopra lo sfondo della sezione. */
body .main-gallery .gallery .gallery-item {
  isolation: isolate;
}
body .main-gallery .gallery .gallery-item-content {
  position: relative;
  height: 100%;
}
body .main-gallery .gallery .gallery-item img {
  z-index: 0;
}
body .main-gallery .gallery .description {
  z-index: 1;
  background: linear-gradient(115deg, #fff5dc, #e8cf97);
  border-top: 1px solid var(--lux-border);
}
body .main-gallery .gallery .gallery-item:hover .description {
  background: #ead09a;
}
@media (max-width: 767px) {
  body .main-promo .slider-item .overlay {
    background: linear-gradient(100deg, #faedcef5, #f1ddb5d9) !important;
  }
  body .main-promo .title { font-size: clamp(2rem, 8vw, 3rem) !important; }
  body .main-promo .align-container { height: auto; min-height: 540px; padding: 45px 0 205px; table-layout: fixed; width: 100%; }
  body .main-promo .subtitle { font-size: 1rem !important; line-height: 1.65; }
  body p { font-size: 1rem; }
}
