/* Three complete cards fit the desktop portfolio shelf, including its two gaps. */
#realizzazioni-home .shelf-track > .card {
  flex: 0 0 calc(33.333333% - 10.666667px);
}

/* The legacy theme changes linked heading colours on hover. Keep portfolio titles readable. */
.bg-realizzazione-card a:hover,
.bg-realizzazione-card a:focus-visible,
.bg-realizzazione-card a:hover .bg-realizzazione-copy h2,
.bg-realizzazione-card a:focus-visible .bg-realizzazione-copy h2 {
  color: #fff;
}

@media (max-width: 700px) {
  body.home #top.hero.bright .hero-bg::after {
    background: linear-gradient(180deg, rgba(0,0,0, .58) 0%, rgba(0,0,0, .8) 38%, rgba(0,0,0, .9) 100%) !important;
  }

  #realizzazioni-home .shelf-track > .card {
    flex: 0 0 100%;
  }

  #realizzazioni-home .shelf-nav {
    display: flex;
  }
}

/* The public page starts with its navigation, without the former top strip. */
body .topbar {
  display: none !important;
}

body.home #top.hero {
  min-height: 0;
}

/* Keep the logo left and the complete desktop navigation together on the right. */
body header#nav.nav .wrap {
  justify-content: flex-start;
  gap: clamp(16px, 1.8vw, 28px);
}

body header#nav.nav .brand {
  flex: 0 0 auto;
}

body header#nav.nav .menu {
  margin-left: auto;
  gap: clamp(12px, 1.25vw, 20px);
}

body header#nav.nav .nav-cta {
  flex: 0 0 auto;
  gap: 16px;
}

/* Solid black header with the official light logo. */
body header#nav.nav {
  background: #000 !important;
  border-bottom-color: rgba(255, 255, 255, .12) !important;
  color: #fff;
}

body header#nav.nav.shrink {
  background: #000 !important;
}

body header#nav.nav .brand-logo {
  filter: none !important;
  opacity: 1 !important;
}

body header#nav.nav .menu a {
  color: #fff !important;
}

body header#nav.nav .menu a::after {
  background: #b79872;
}

body header#nav.nav .menu a:is(:hover, :focus-visible) {
  color: #d4b99f !important;
}

body header#nav.nav .nav-cta > .btn.solid {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .65) !important;
  background: transparent !important;
}

body header#nav.nav .nav-cta > .btn.solid span {
  color: inherit !important;
}

body header#nav.nav .nav-cta > .btn.solid::after,
body header#nav.nav .nav-cta > .btn.solid:is(:hover, :focus-visible) {
  background: #b79872 !important;
}

body header#nav.nav .nav-cta > .btn.solid:is(:hover, :focus-visible) {
  color: #000 !important;
  border-color: #b79872 !important;
}

body header#nav.nav .burger span {
  background: #fff !important;
}

/* Desktop contact action switches into the hamburger menu at the same breakpoint. */
body header#nav.nav .burger {
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border: 0;
  background: transparent;
  color: #fff;
}

/* The same cart may appear in Reina's headers on the older catalog templates. */
body header#nav.nav .nav-cta > a[aria-label="Cosmetici"],
body header#nav.nav .nav-cta > a[aria-label="Shop cosmetici"],
body header#nav.nav .nav-cta > a[aria-label="Carrello"],
.qodef-woo-dropdown-cart,
.widget_shopping_cart,
.woocommerce-mini-cart,
.add_to_cart_button,
.single_add_to_cart_button,
.added_to_cart.wc-forward,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-product-button,
.qqvfw-quick-view-button-wrapper {
  display: none !important;
}

@media (min-width: 1100px) {
  body header#nav.nav .menu {
    display: flex !important;
  }

  body header#nav.nav .nav-cta > a.btn {
    display: inline-flex !important;
  }

  body header#nav.nav .burger {
    display: none !important;
  }
}

@media (max-width: 1099px) {
  body header#nav.nav .menu {
    display: none !important;
  }

  body header#nav.nav .nav-cta {
    margin-left: auto;
  }

  body header#nav.nav .nav-cta > a.btn {
    display: none !important;
  }

  body header#nav.nav .burger {
    display: flex !important;
  }
}

/* Scope controls above the old theme's link/button rules, including hover/focus. */
body.home .elementor-element-bgindexh .btn {
  color: #000 !important;
  border-color: #000 !important;
  background: transparent;
  opacity: 1;
  visibility: visible;
}

body.home .elementor-element-bgindexh .btn span {
  color: inherit !important;
}

body.home .elementor-element-bgindexh .btn::after {
  background: #000;
}

body.home .elementor-element-bgindexh .btn:is(:hover, :focus-visible) {
  color: #f8f8f4 !important;
  background: #000;
}

body.home .elementor-element-bgindexh .btn.solid {
  color: #f8f8f4 !important;
  background: #000;
}

body.home .elementor-element-bgindexh .btn.solid::after {
  background: #222;
}

body.home .elementor-element-bgindexh .hero .btn {
  color: #f8f8f4 !important;
  border-color: rgba(248, 248, 244, .65) !important;
}

body.home .elementor-element-bgindexh .hero .btn::after,
body.home .elementor-element-bgindexh .hero .btn:is(:hover, :focus-visible) {
  color: #000 !important;
  background: #f8f8f4;
}

body.home .elementor-element-bgindexh .hero .btn.solid {
  color: #000 !important;
  background: #b79872 !important;
  border-color: #b79872 !important;
}

body.home .elementor-element-bgindexh .hero .btn.solid:is(:hover, :focus-visible) {
  background: #f8f8f4 !important;
}

/* The sticky mobile action sits outside the Elementor widget. */
body.home .mobile-actions a {
  color: #f8f8f4 !important;
}

body.home .mobile-actions a:last-child {
  color: #000 !important;
  background: #b79872;
}

body.home .elementor-element-bgindexh :is(.btn, .shelf-nav button):focus-visible,
body header#nav.nav :is(a, button):focus-visible {
  outline: 2px solid #b79872;
  outline-offset: 4px;
}

body.home #realizzazioni-home .shelf-nav {
  display: flex !important;
}

body.home #realizzazioni-home .shelf-nav button {
  display: grid;
  place-items: center;
  padding: 0;
  color: #000 !important;
  background: #f8f8f4;
  border: 1px solid #999;
}

body.home #realizzazioni-home .shelf-nav button:disabled {
  opacity: .5;
}

body.home #mobileMenu .close {
  display: grid;
  place-items: center;
  padding: 0;
  min-width: 44px;
  min-height: 44px;
  color: #f8f8f4 !important;
  background: transparent;
  border: 0;
}

/* A full-width portfolio hero, exactly as tall as the viewport below the header. */
body.home .elementor-element-bgindexh #top.hero.bright {
  height: calc(100svh - var(--bg-nav-height, 76px)) !important;
  height: calc(100dvh - var(--bg-nav-height, 76px)) !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 0;
  align-items: center;
  overflow: hidden;
}

body.home .elementor-element-bgindexh #top.hero.bright::before,
body.home .elementor-element-bgindexh #top.hero.bright::after {
  display: none !important;
}

body.home .elementor-element-bgindexh #top.hero.bright .hero-bg {
  inset: 0 !important;
  width: 100% !important;
}

body.home .elementor-element-bgindexh #top.hero.bright .hero-bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}

body.home .elementor-element-bgindexh #top.hero.bright .hero-bg img.bg-hero-slide {
  opacity: 0 !important;
  transition: opacity 900ms ease;
}

body.home .elementor-element-bgindexh #top.hero.bright .hero-bg img.is-active {
  opacity: 1 !important;
}

body.home .elementor-element-bgindexh #top.hero.bright .hero-bg::after {
  z-index: 1;
  background: linear-gradient(90deg, rgba(0,0,0, .83), rgba(0,0,0, .55) 48%, rgba(0,0,0, .15)), linear-gradient(0deg, rgba(0,0,0, .6), transparent 35%) !important;
}

body.home .elementor-element-bgindexh #top.hero.bright .wrap {
  display: flex !important;
  align-items: center !important;
  height: 100%;
  width: min(1280px, calc(100% - 72px));
  padding: 32px 0 !important;
}

body.home .elementor-element-bgindexh #top.hero.bright .hero-inner {
  width: min(860px, 82%) !important;
  max-width: 860px !important;
}

body.home .elementor-element-bgindexh #top.hero.bright h1 {
  max-width: none !important;
  font-size: clamp(42px, 4.7vw, 72px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;
  margin: 18px 0 0 !important;
}

body.home .elementor-element-bgindexh #top.hero.bright h1 em {
  font-size: 1em;
  line-height: inherit;
}

body.home .elementor-element-bgindexh #top.hero.bright p {
  max-width: 60ch !important;
  font-size: clamp(16px, 1.3vw, 19px) !important;
  line-height: 1.6;
  color: #f8f8f4;
  margin: 20px 0 26px !important;
}

body.home .elementor-element-bgindexh #top .hero-kpis {
  margin-top: 28px;
  padding-top: 18px;
  max-width: 600px;
}

/* Editorial actions: compact corners keep the luxury direction crisp. */
body .elementor-widget-html .btn,
body.home .elementor-element-bgindexh .btn,
body header#nav.nav .btn {
  border-radius: 4px !important;
  overflow: hidden;
}

@media (max-width: 760px) {
  body.home .elementor-element-bgindexh #top.hero.bright .wrap { width: calc(100% - 36px); padding: 24px 0 100px !important; }
  body.home .elementor-element-bgindexh #top.hero.bright .hero-inner { width: 100% !important; }
  body.home .elementor-element-bgindexh #top.hero.bright h1 { font-size: clamp(32px, 7.8vw, 48px) !important; margin-top: 14px !important; }
  body.home .elementor-element-bgindexh #top.hero.bright p { font-size: 16px !important; margin: 16px 0 20px !important; }
  body.home .elementor-element-bgindexh #top .hero-actions { display: flex; gap: 10px; }
  body.home .elementor-element-bgindexh #top .hero-actions .btn { flex: 0 1 auto; font-size: 11px; padding: 12px 17px; }
  body.home .elementor-element-bgindexh #top .hero-kpis { margin-top: 24px; }
}

@media (max-height: 700px) {
  body.home .elementor-element-bgindexh #top .hero-kpis { display: none; }
  body.home .elementor-element-bgindexh #top.hero.bright h1 { font-size: clamp(30px, 4.3vw, 52px) !important; }
  body.home .elementor-element-bgindexh #top.hero.bright .wrap { padding-top: 18px !important; padding-bottom: 28px !important; }
}

@media (max-width: 760px) and (max-height: 700px) {
  body.home .elementor-element-bgindexh #top.hero.bright .wrap { padding-bottom: 88px !important; }
  body.home .elementor-element-bgindexh #top .hero-actions .btn { min-height: 40px; padding: 9px 14px; font-size: 10px; }
}

@media (max-height: 450px) {
  body.home .elementor-element-bgindexh #top.hero.bright h1 { font-size: 30px !important; margin-top: 8px !important; }
  body.home .elementor-element-bgindexh #top.hero.bright p { font-size: 14px !important; margin: 10px 0 14px !important; }
  body.home .elementor-element-bgindexh #top .hero-actions .btn { min-height: 40px; padding: 8px 16px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  body.home #top .hero-bg img.bg-hero-slide { transition: none !important; }
}

/* 1.5: project-first hierarchy, stronger type and fewer competing treatments. */
body.home .elementor-element-bgindexh { --bg-title: 'Cormorant Garamond', Georgia, serif; }
body.home .elementor-element-bgindexh .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
body.home .elementor-element-bgindexh :is(#top, #settori, .bg-home-section) :is(h1, h2) {
  font-family: var(--bg-title) !important;
  font-weight: 600 !important;
  font-style: normal;
  letter-spacing: -.025em;
}
body.home .elementor-element-bgindexh #top.hero.bright .hero-bg::after {
  background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.60) 34%, rgba(0,0,0,.12) 72%, rgba(0,0,0,.04) 100%), linear-gradient(0deg, rgba(0,0,0,.34), transparent 40%) !important;
}
body.home .elementor-element-bgindexh #top.hero.bright .hero-inner { width: min(860px, 82%) !important; max-width: 860px !important; }
body.home .elementor-element-bgindexh #top.hero.bright h1 {
  font-size: clamp(48px, 5.6vw, 82px) !important;
  line-height: 1.02 !important;
  color: #f8f8f4 !important;
  margin-top: 0 !important;
  animation: none !important;
}
body.home .elementor-element-bgindexh #top.hero.bright p {
  max-width: 48ch !important;
  margin: 28px 0 32px !important;
  font-size: 18px !important;
  animation: none !important;
}
body.home .elementor-element-bgindexh #top .hero-actions { animation: none !important; }
body.home .elementor-element-bgindexh :is(#top, .bg-home-section) .btn {
  min-height: 48px;
  padding: 14px 24px;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  line-height: 1.35;
  text-align: center;
}
body.home .elementor-element-bgindexh .bg-home-section { padding: clamp(56px, 5.3vw, 76px) 0 !important; scroll-margin-top: 0; }
body.home .elementor-element-bgindexh .bg-home-section > .wrap,
body.home .elementor-element-bgindexh footer > .wrap { width: min(1280px, calc(100% - 72px)); max-width: none; margin-inline: auto; }
body.home .elementor-element-bgindexh :is(#settori, .bg-home-section) h2 {
  margin: 0 !important;
  max-width: none !important;
  font-size: clamp(38px, 3.4vw, 50px) !important;
  line-height: 1.08 !important;
  color: #000 !important;
}
body.home .elementor-element-bgindexh .bg-home-section .sec-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 32px;
}
body.home .elementor-element-bgindexh :is(#settori, .bg-home-section) .sec-head > p,
body.home .elementor-element-bgindexh :is(#settori, .bg-home-section) .sec-head > div > p {
  max-width: 36ch;
  color: #555;
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
}
body.home .elementor-element-bgindexh .bg-label {
  display: block;
  font: 400 14px/1.5 'Work Sans', sans-serif;
  color: #555;
  margin: 0 0 14px;
  letter-spacing: 0;
  text-transform: none;
}
body.home .elementor-element-bgindexh .bg-text-link {
  font: 500 14px/1.5 'Work Sans', sans-serif;
  color: #000 !important;
  text-decoration: underline;
  text-decoration-color: #aaa;
  text-underline-offset: 5px;
}
body.home .elementor-element-bgindexh .bg-text-link:is(:hover, :focus-visible) { text-decoration-color: currentColor; }
body.home .elementor-element-bgindexh .bg-link-arrow { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; display: inline-block; vertical-align: middle; flex-shrink: 0; }
body.home .elementor-element-bgindexh :is(.bg-service, .bg-text-link, .shelf-track, .card):focus-visible { outline: 2px solid #8b6d48; outline-offset: 5px; }

/* Published projects use the same photographic grid as the furnishings catalog. */
body.home .elementor-element-bgindexh #realizzazioni-home { background: #f5f5f5 !important; }

/* Photographic sectors: each image is a complete, accessible destination. */
body.home .elementor-element-bgindexh #settori { background: #efece6; }
body.home .elementor-element-bgindexh #settori .bg-sector-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
body.home .elementor-element-bgindexh #settori .bg-sector-card { position: relative; display: block; grid-column: span 2; height: 270px; overflow: hidden; border-radius: 8px; background: #000; color: #fff !important; }
body.home .elementor-element-bgindexh #settori .bg-sector-card:nth-child(n+4) { grid-column: span 3; }
body.home .elementor-element-bgindexh #settori .bg-sector-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
body.home .elementor-element-bgindexh #settori .bg-sector-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.80)); pointer-events: none; }
body.home .elementor-element-bgindexh #settori .bg-sector-caption { position: absolute; z-index: 1; inset: auto 24px 22px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
body.home .elementor-element-bgindexh #settori .bg-sector-caption h3 { font: 500 23px/1.25 'Work Sans', sans-serif !important; color: #fff !important; margin: 0; }
body.home .elementor-element-bgindexh #settori .bg-sector-caption > span { font: 400 28px/1 'Work Sans', sans-serif; }
body.home .elementor-element-bgindexh #settori .bg-sector-card:is(:hover, :focus-visible) img { transform: scale(1.025); }
body.home .elementor-element-bgindexh #settori .bg-sector-card:focus-visible { outline: 3px solid #8b6d48; outline-offset: 5px; }

/* Furnishings lead; professional products and courses have their own space. */
body.home .elementor-element-bgindexh #cosa-facciamo { background: #f8f8f4; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-supplies-feature { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(32px, 5vw, 72px); }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-supplies-photo { display: block; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #fff; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-supplies-photo img { width: 100%; height: 100%; object-fit: contain; display: block; }
body.home .elementor-element-bgindexh #cosa-facciamo h2 { margin-bottom: 20px !important; }
body.home .elementor-element-bgindexh #cosa-facciamo p { color: #555; font-size: 16px; line-height: 1.65; margin: 0 0 18px; max-width: 48ch; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-supplies-copy .btn { margin-top: 10px; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-supplies-copy .bg-text-link { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 0 18px; vertical-align: middle; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-business-grid { display: grid; grid-template-columns: 1fr; gap: 56px; margin-top: 64px; padding-top: 48px; border-top: 1px solid #ccc; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-products-feature { display: block; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-products-feature .sec-head { align-items: center; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-products-feature .sec-head > div { max-width: 700px; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-products-feature .sec-head p { max-width: 60ch; margin-bottom: 0; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-products-feature .sec-head > .btn { flex-shrink: 0; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; padding-top: 48px; border-top: 1px solid #ccc; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature h2 { grid-column: 1; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature p { grid-column: 1; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature ul { grid-column: 2; grid-row: 1 / 3; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature > .btn { grid-column: 1; justify-self: start; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature ul { margin: 24px 0; padding: 0; list-style: none; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature li { border-bottom: 1px solid #ddd; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature li a { display: block; padding: 10px 0; font: 500 15px/1.4 'Work Sans', sans-serif; color: #000 !important; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #ccc; }
body.home .elementor-element-bgindexh #cosa-facciamo :is(a.bg-supplies-photo, a.bg-products-photo, .bg-training-feature li a):focus-visible { outline: 2px solid #8b6d48; outline-offset: 5px; }
body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature li a:hover { text-decoration-color: #000; }

/* Restore the rounded four-step treatment from Chiavi in mano. */
body.home .elementor-element-bgindexh #metodo { background: #fbfaf7; }
body.home .elementor-element-bgindexh #metodo::before { display: none; }
body.home .elementor-element-bgindexh #metodo .steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin: 36px 0 0; padding: 0; list-style: none; }
body.home .elementor-element-bgindexh #metodo .step { position: relative; padding: 42px 30px 32px; min-height: 0; background: #f1efe9; border: 0; border-radius: 24px; }
body.home .elementor-element-bgindexh #metodo .step::before { display: none; }
body.home .elementor-element-bgindexh #metodo .bg-step-number { position: absolute; top: 16px; right: 22px; color: #b6a58f; font: 400 34px/1.2 'Work Sans', sans-serif; margin: 0; }
body.home .elementor-element-bgindexh #metodo .bar { width: 36px; height: 2px; background: #b58b52; margin: 0 0 24px; border-radius: 2px; }
body.home .elementor-element-bgindexh #metodo .step h3 { font: 500 20px/1.3 'Work Sans', sans-serif !important; color: #000 !important; margin: 0 0 12px; }
body.home .elementor-element-bgindexh #metodo .step p { color: #555; font-size: 15px; line-height: 1.65; margin: 0; }

/* One clear destination: begin a conversation about the project. */
body.home .elementor-element-bgindexh #contatti-cta { background: #000; }
body.home .elementor-element-bgindexh #contatti-cta .wrap { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 48px; border: 0; border-radius: 0; padding: 0; background: transparent; text-align: left; }
body.home .elementor-element-bgindexh #contatti-cta .wrap::before { display: none; }
body.home .elementor-element-bgindexh #contatti-cta h2 { color: #f8f8f4 !important; font-size: clamp(42px, 4vw, 58px) !important; }
body.home .elementor-element-bgindexh #contatti-cta .bg-label { color: #ccc; }
body.home .elementor-element-bgindexh #contatti-cta p { color: #ccc; font-size: 16px; line-height: 1.65; max-width: 44ch; margin: 22px 0 0; }
body.home .elementor-element-bgindexh #contatti-cta .cta-actions { display: flex; flex-direction: column; align-items: stretch; gap: 14px; max-width: 330px; width: 100%; margin-left: auto; }
body.home .elementor-element-bgindexh #contatti-cta .btn { color: #f8f8f4 !important; border-color: #ccc !important; }
body.home .elementor-element-bgindexh #contatti-cta .btn::after,
body.home .elementor-element-bgindexh #contatti-cta .btn:is(:hover, :focus-visible) { background: #f8f8f4; color: #000 !important; }
body.home .elementor-element-bgindexh #contatti-cta .btn.solid { color: #000 !important; background: #b79872; border-color: #b79872 !important; }
body.home .elementor-element-bgindexh #contatti-cta .btn.solid::after { background: #f8f8f4; }
body.home .elementor-element-bgindexh #contatti-cta .bg-text-link { color: #f8f8f4 !important; align-self: center; padding-block: 8px; text-decoration-color: #999; }

@media (max-width: 1200px) and (min-width: 1001px) {
  body.home .elementor-element-bgindexh #metodo .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Footer remains readable and reserves room for the mobile contact bar. */
body.home .elementor-element-bgindexh footer { border-radius: 0; background: #000; padding-top: 48px; border-top: 1px solid #333; }
body.home .elementor-element-bgindexh footer .foot-top { gap: 36px; grid-template-columns: 1.25fr .85fr 1fr 1.2fr; }
body.home .elementor-element-bgindexh footer :is(.foot-brand p, .foot-col p, .foot-col a) { color: #ccc !important; font-size: 14px; line-height: 1.65; }
body.home .elementor-element-bgindexh footer .foot-col h4 { font: 500 15px/1.4 'Work Sans', sans-serif !important; color: #f8f8f4 !important; letter-spacing: 0; text-transform: none; }
body.home .elementor-element-bgindexh footer .foot-bottom { color: #ccc; font-size: 12px; line-height: 1.65; letter-spacing: 0; }
body.home .elementor-element-bgindexh footer .foot-legal a { color: #ccc !important; }
body.home .elementor-element-bgindexh footer a:focus-visible { outline: 2px solid #d2b995; outline-offset: 4px; }

@media (max-width: 1000px) {
  body.home .elementor-element-bgindexh #realizzazioni-home .shelf-track > .card { flex-basis: calc((100% - 28px) / 2); }
  body.home .elementor-element-bgindexh #metodo .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  body.home .elementor-element-bgindexh footer .foot-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
  body.home .elementor-element-bgindexh .bg-home-section { padding: 48px 0 !important; }
  body.home .elementor-element-bgindexh .bg-home-section > .wrap,
  body.home .elementor-element-bgindexh footer > .wrap { width: calc(100% - 36px); }
  body.home .elementor-element-bgindexh #top.hero.bright .hero-bg::after { background: linear-gradient(90deg, rgba(0,0,0,.80), rgba(0,0,0,.45)), linear-gradient(0deg, rgba(0,0,0,.4), transparent 55%) !important; }
  body.home .elementor-element-bgindexh #top.hero.bright .hero-inner { width: 100% !important; }
  body.home .elementor-element-bgindexh #top.hero.bright h1 { font-size: clamp(42px, 10.7vw, 64px) !important; margin-top: 20px !important; }
  body.home .elementor-element-bgindexh #top.hero.bright p { font-size: 16px !important; margin: 22px 0 26px !important; max-width: 38ch !important; }
  body.home .elementor-element-bgindexh #top .hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  body.home .elementor-element-bgindexh #top .hero-actions .btn { font-size: 13px; min-height: 46px; padding: 13px 22px; }
  body.home .elementor-element-bgindexh :is(#settori, .bg-home-section) h2 { font-size: 38px !important; }
  body.home .elementor-element-bgindexh .bg-home-section .sec-head { flex-direction: column; align-items: flex-start; gap: 22px; margin-bottom: 28px; }
  body.home .elementor-element-bgindexh #realizzazioni-home .shelf-track > .card { flex-basis: 100%; }
  body.home .elementor-element-bgindexh #realizzazioni-home .card .c-body { padding-top: 16px; }
  body.home .elementor-element-bgindexh #realizzazioni-home .card h3 { font-size: 21px !important; }
  body.home .elementor-element-bgindexh #metodo .steps { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; }
  body.home .elementor-element-bgindexh #metodo .step { padding: 42px 28px 30px; }

  body.home .elementor-element-bgindexh #contatti-cta .wrap { grid-template-columns: 1fr; gap: 28px; }
  body.home .elementor-element-bgindexh #contatti-cta h2 { font-size: 44px !important; }
  body.home .elementor-element-bgindexh #contatti-cta .cta-actions { margin: 0; max-width: none; }
  body.home .elementor-element-bgindexh footer { padding-top: 40px; padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  body.home .elementor-element-bgindexh footer .foot-top { gap: 32px 24px; }
  body.home .elementor-element-bgindexh footer .foot-brand,
  body.home .elementor-element-bgindexh footer .foot-contact { grid-column: 1 / -1; }
}
@media (max-height: 700px) {
  body.home .elementor-element-bgindexh #top.hero.bright h1 { font-size: clamp(40px, 4.6vw, 64px) !important; }
}
@media (max-width: 699px) and (max-height: 700px) {
  body.home .elementor-element-bgindexh #top.hero.bright h1 { font-size: 40px !important; margin-top: 14px !important; }
  body.home .elementor-element-bgindexh #top.hero.bright p { font-size: 15px !important; margin: 16px 0 20px !important; }
  body.home .elementor-element-bgindexh #top .hero-actions { gap: 10px; }
  body.home .elementor-element-bgindexh #top .hero-actions .btn { min-height: 44px; padding: 11px 20px; font-size: 12px; }
}
@media (max-height: 450px) {
  body.home .elementor-element-bgindexh #top.hero.bright h1 { font-size: 32px !important; margin-top: 0 !important; }
  body.home .elementor-element-bgindexh #top.hero.bright p { font-size: 14px !important; margin: 10px 0 14px !important; }
}

/* 1.6 composition refinements. */
body.home .elementor-element-bgindexh #realizzazioni-home .sec-head > div { max-width: 750px; }
body.home .elementor-element-bgindexh #realizzazioni-home .sec-head p { max-width: 60ch; margin: 18px 0 0; font-size: 17px; line-height: 1.6; }
body.home .elementor-element-bgindexh #realizzazioni-home .sec-head > .btn { flex-shrink: 0; }
body.home .elementor-element-bgindexh #realizzazioni-home .bg-portfolio-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; }
body.home .elementor-element-bgindexh #realizzazioni-home .bg-portfolio-footer .shelf-nav { margin: 0; }
@media (max-width: 1000px) {
  body.home .elementor-element-bgindexh #settori .bg-sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home .elementor-element-bgindexh #settori .bg-sector-card,
  body.home .elementor-element-bgindexh #settori .bg-sector-card:nth-child(n+4) { grid-column: span 1; height: 250px; }
  body.home .elementor-element-bgindexh #settori .bg-sector-card:last-child { grid-column: 1 / -1; }
  body.home .elementor-element-bgindexh #cosa-facciamo .bg-business-grid { grid-template-columns: 1fr; gap: 36px; }

  body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature { gap: 0 32px; padding-top: 36px; }
}
@media (max-width: 699px) {
  body.home .elementor-element-bgindexh #realizzazioni-home .sec-head p { font-size: 16px; margin-top: 16px; }
  body.home .elementor-element-bgindexh #realizzazioni-home .bg-portfolio-footer { gap: 16px; }
  body.home .elementor-element-bgindexh #realizzazioni-home .bg-portfolio-footer .bg-text-link { font-size: 13px; }
  body.home .elementor-element-bgindexh #settori .bg-sector-grid { gap: 14px; }
  body.home .elementor-element-bgindexh #settori .bg-sector-card,
  body.home .elementor-element-bgindexh #settori .bg-sector-card:nth-child(n+4) { height: 230px; }
  body.home .elementor-element-bgindexh #settori .bg-sector-card:last-child { height: 210px; }
  body.home .elementor-element-bgindexh #settori .bg-sector-caption { inset: auto 16px 18px; gap: 8px; }
  body.home .elementor-element-bgindexh #settori .bg-sector-caption h3 { font-size: 18px !important; }
  body.home .elementor-element-bgindexh #settori .bg-sector-caption > span { display: none; }
  body.home .elementor-element-bgindexh #cosa-facciamo .bg-supplies-feature { grid-template-columns: 1fr; gap: 28px; }
  body.home .elementor-element-bgindexh #cosa-facciamo .bg-business-grid { margin-top: 40px; padding-top: 36px; }
  body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature { display: block; }
  body.home .elementor-element-bgindexh #cosa-facciamo .bg-training-feature ul { margin: 24px 0; }
  body.home .elementor-element-bgindexh #cosa-facciamo .bg-supplies-copy .bg-text-link { display: flex; width: max-content; margin: 16px 0 0; }

}
@media (prefers-reduced-motion: reduce) {
  body.home .elementor-element-bgindexh #settori .bg-sector-card img { transition: none; }
}

@media (max-width: 359px) {
  body.home .elementor-element-bgindexh #settori .bg-sector-grid { grid-template-columns: 1fr; }
  body.home .elementor-element-bgindexh #settori .bg-sector-card:nth-child(n) { grid-column: 1; height: 210px; }
}

/* One catalog card family: furnishings, projects and professional cosmetics. */
body .bg-catalog-grid,
body #shop .shop-grid,
body.post-type-archive-bg_realization .bg-realizzazioni-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
body.home #cosa-facciamo .bg-products-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.page-id-23578 #shop .shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 26px !important; }
body .bg-catalog-grid > .card,
body #shop .shop-item.bg-catalog-card,
body.post-type-archive-bg_realization .bg-realizzazione-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  background: #fbfaf7;
  border: 1px solid #cdd1cb;
  border-radius: 24px;
  box-shadow: none;
  color: #000 !important;
  text-decoration: none;
  transition: border-color .25s;
}
body .bg-catalog-grid .card .c-img,
body #shop .bg-catalog-card .c-img { aspect-ratio: 4 / 3; overflow: hidden; background: #fff; border-radius: 0; }
body .bg-catalog-grid .card .c-img img,
body #shop .bg-catalog-card .c-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: none !important; }
body.home #cosa-facciamo .bg-products-grid .c-img img,
body #shop .bg-catalog-card .c-img img { object-fit: contain; padding: 16px; }
body .bg-catalog-grid .card .c-body,
body #shop .bg-catalog-card .c-body,
body.post-type-archive-bg_realization .bg-realizzazione-copy { padding: 28px 26px; display: flex; flex-direction: column; flex: 1; }
body .bg-catalog-grid .card h3,
body #shop .bg-catalog-card h3,
body.post-type-archive-bg_realization .bg-realizzazione-copy h2 { font: 500 23px/1.3 'Work Sans', sans-serif !important; margin: 0 0 14px !important; color: #000 !important; overflow-wrap: anywhere; }
body #shop .bg-catalog-card .k { font-size: 14px; color: #7d5a2e; margin-bottom: 12px; font-style: normal; letter-spacing: 0; text-transform: none; }
body .bg-catalog-grid .card .go,
body #shop .bg-catalog-card .go,
body.post-type-archive-bg_realization .bg-catalog-go { margin-top: auto; padding-top: 10px; font: 400 14px/1.5 'Work Sans', sans-serif; color: #555; text-transform: none; letter-spacing: 0; }
body .bg-catalog-grid .card .go { display: flex; align-items: center; gap: 8px; }
body .bg-catalog-grid > .card:hover,
body #shop .shop-item.bg-catalog-card:hover,
body.post-type-archive-bg_realization .bg-realizzazione-card:hover { transform: none; box-shadow: none; border-color: #b58b52; }
body .bg-catalog-grid > .card:focus-visible,
body #shop .bg-catalog-card:focus-visible,
body.post-type-archive-bg_realization .bg-realizzazione-card a:focus-visible { outline: 2px solid #8b6d48; outline-offset: 5px; }
body .bg-product-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 24px; font: 400 15px/1.5 'Work Sans', sans-serif; color: #555; background: #f1efe9; text-align: center; }
body.post-type-archive-bg_realization .bg-realizzazione-card > a { display: flex; flex-direction: column; height: 100%; color: #000 !important; }
body.post-type-archive-bg_realization .bg-realizzazione-card img { height: auto; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
body.post-type-archive-bg_realization .bg-realizzazione-copy { position: static; inset: auto; background: transparent; }
body.post-type-archive-bg_realization .bg-realizzazioni-title { text-align: left; }
@media (max-width: 1024px) {
  body .bg-catalog-grid,
  body #shop .shop-grid,
  body.home #cosa-facciamo .bg-products-grid,
  body.post-type-archive-bg_realization .bg-realizzazioni-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-id-23578 #shop .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 699px) {
  body .bg-catalog-grid,
  body #shop .shop-grid,
  body.post-type-archive-bg_realization .bg-realizzazioni-grid { grid-template-columns: 1fr; gap: 22px; }
  body.page-id-23578 #shop .shop-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
  body.home #cosa-facciamo .bg-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  body.home #cosa-facciamo .bg-products-grid .c-body { padding: 18px 14px; }
  body.home #cosa-facciamo .bg-products-grid h3 { font-size: 17px !important; }
  body.home #cosa-facciamo .bg-products-grid .c-img { aspect-ratio: 1; }
  body.home #cosa-facciamo .bg-products-grid .c-img img { padding: 10px; }
  body.home #cosa-facciamo .bg-products-grid .go { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body .bg-catalog-grid .card .c-img img,
  body.post-type-archive-bg_realization .bg-realizzazione-card img { transition: none; transform: none !important; }
}

/* Black replaces the shared mineral/green palette, including inherited theme tokens. */
html body,
body.home .elementor-element-bgindexh {
  --ink: #000 !important;
  --ink-soft: #555 !important;
  --espresso: #000 !important;
  --espresso-2: #222 !important;
  --mineral: #000 !important;
  --mineral-2: #222 !important;
  --bg-ink: #000 !important;
  --bg-ink-2: #222 !important;
  --bg-text: #000 !important;
  --bg-muted: #666 !important;
  --bg-ivory: #f1f1f1 !important;
  --bg-mist: #e5e5e5 !important;
  --bg-fog: #f5f5f5 !important;
  --bg-line: #ddd !important;
  --ivory: #f1f1f1 !important;
  --ivory-2: #e5e5e5 !important;
  --line: #ccc !important;
  --shadow: 0 20px 55px -42px rgba(0,0,0,.55) !important;
  --bg-shadow: 0 22px 60px rgba(0,0,0,.1) !important;
}
html body.qodef-header--standard #qodef-page-header,
html body #qodef-page-mobile-header,
html body .qodef-header-sticky,
html body #qodef-page-header .qodef-drop-down-second-inner > ul,
html body #qodef-page-mobile-header .qodef-mobile-header-navigation,
html body #mobileMenu.mobile-menu,
html body .mobile-actions { background: #000 !important; }
html body #qodef-page-header .qodef-header-navigation > ul > li > a,
html body .qodef-header-sticky .qodef-header-navigation > ul > li > a { color: #fff !important; }

/* Native Reina headers use the same black bar as the home. */
html body #qodef-page-header-inner,
html body #qodef-page-mobile-header-inner { background: #000 !important; }
html body :is(.qodef-header-logo-link, .qodef-mobile-header-logo-link) img { filter: brightness(0) invert(1) !important; }
html body #qodef-page-header .qodef-drop-down-second-inner a,
html body #qodef-page-mobile-header a { color: #fff !important; }
html body .qodef-mobile-header-opener svg { stroke: #fff !important; }
html body :is(#qodef-page-header, .qodef-header-sticky) .qodef-button {
  background: transparent !important; color: #fff !important; border: 1px solid #888 !important;
  border-radius: 999px !important; padding: 12px 25px !important;
}
html body :is(#qodef-page-header, .qodef-header-sticky) .qodef-button .qodef-m-background { background: #222 !important; }

/* Product details: a real product photograph and a readable catalog summary. */
html body.single-product { background: #fff !important; color: #000 !important; }
html body.single-product #qodef-page-outer { background: #fff !important; margin-top: 0 !important; }
html body.single-product .qodef-page-title { display: none !important; }
html body.single-product #qodef-page-inner {
  width: min(1200px, calc(100% - 80px)) !important; padding-top: 32px !important; padding-bottom: 70px !important;
}
html body.single-product #qodef-woo-page { float: none !important; width: 100% !important; padding: 0 !important; }
html body.single-product #qodef-woo-page > .product { margin: 0 !important; }
html body.single-product .bg-product-navigation {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 30px;
  font: 400 13px/1.6 'Work Sans', sans-serif; color: #666;
}
html body.single-product .bg-product-navigation a { color: #000; text-decoration: underline; text-underline-offset: 4px; }
html body.single-product #qodef-woo-page .qodef-woo-single-inner {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center;
  gap: clamp(32px, 5vw, 72px); margin: 0 !important;
}
html body.single-product #qodef-woo-page .qodef-woo-single-image,
html body.single-product #qodef-woo-page .summary { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; min-width: 0; }
html body.single-product #qodef-woo-page .woocommerce-product-gallery { width: 100% !important; margin: 0 !important; }
html body.single-product #qodef-woo-page .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  background: #f5f5f5; border: 1px solid #e5e5e5; border-radius: 24px; overflow: hidden;
}
html body.single-product #qodef-woo-page .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a {
  display: flex !important; align-items: center; justify-content: center; height: clamp(360px, 38vw, 490px); padding: 32px;
}
html body.single-product #qodef-woo-page .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
  display: block; width: 100% !important; height: 100% !important; max-height: 426px; object-fit: contain !important;
}
html body.single-product #qodef-woo-page .qodef-woo-thumbnails-wrapper { margin-top: 16px; }
html body.single-product #qodef-woo-page .qodef-woo-thumbnails-wrapper:empty { display: none; }
html body.single-product #qodef-woo-page .qodef-woo-thumbnails-wrapper img { width: 72px !important; height: 72px !important; object-fit: contain; }
html body.single-product #qodef-woo-page .summary .product_title {
  font: 600 clamp(36px, 3.6vw, 52px)/1.08 'Cormorant Garamond', serif !important;
  letter-spacing: -.02em !important; color: #000 !important; margin: 0 0 18px !important; text-transform: none !important;
}
html body.single-product #qodef-woo-page .summary .price {
  font: 500 20px/1.4 'Work Sans', sans-serif !important; color: #000 !important; margin: 0 0 22px !important;
}
html body.single-product #qodef-woo-page .summary .woocommerce-product-details__short-description {
  margin: 0 !important; color: #555 !important; font: 400 16px/1.75 'Work Sans', sans-serif !important;
}
html body.single-product #qodef-woo-page .summary .woocommerce-product-details__short-description p { margin: 0 0 10px !important; }
html body.single-product .bg-product-inquiry { margin: 28px 0 0; padding-top: 26px; border-top: 1px solid #ddd; }
html body.single-product a.bg-product-contact {
  display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 13px 28px;
  border-radius: 999px; background: #000; color: #fff !important; font: 500 14px/1.5 'Work Sans', sans-serif; text-decoration: none;
}
html body.single-product a.bg-product-contact:hover { background: #333; }
html body.single-product .bg-product-inquiry p { max-width: 45ch; margin: 16px 0 14px; color: #666; font: 400 13px/1.7 'Work Sans', sans-serif; }
html body.single-product a.bg-product-back { font: 500 13px/1.6 'Work Sans', sans-serif; color: #000; text-decoration: underline; text-underline-offset: 4px; }
html body.single-product .bg-product-inquiry a:focus-visible { outline: 2px solid #000; outline-offset: 5px; }
html body.single-product #qodef-woo-page :is(.qwfw-add-to-wishlist-wrapper, .qodef-social-share, .qodef-woo-single-meta-title) { display: none !important; }
html body.single-product #qodef-woo-page .product_meta { border: 0 !important; margin-top: 24px !important; padding: 0 !important; font: 400 13px/1.6 'Work Sans', sans-serif; color: #666; }
html body.single-product #qodef-woo-page .woocommerce-tabs { margin: 56px 0 0 !important; padding: 28px 0 0 !important; border-top: 1px solid #ddd; }
html body.single-product #qodef-woo-page .woocommerce-tabs .tabs { margin: 0 0 20px !important; padding: 0 !important; }
html body.single-product #qodef-woo-page .woocommerce-tabs .tabs li { background: none !important; border: 0 !important; padding: 0 !important; }
html body.single-product #qodef-woo-page .woocommerce-tabs .tabs li a { color: #000 !important; font: 600 26px/1.2 'Cormorant Garamond', serif; padding: 0 !important; }
html body.single-product #qodef-woo-page .woocommerce-tabs .panel { max-width: 760px; padding: 0 !important; color: #555; }
html body.single-product #qodef-woo-page .woocommerce-tabs .panel > h2 { display: none; }
html body.single-product #qodef-woo-page .woocommerce-tabs .panel h4 { font: 500 18px/1.5 'Work Sans', sans-serif; color: #000; margin: 0 0 12px; }
html body.single-product #qodef-woo-page .related.products { margin-top: 52px !important; }
html body.single-product #qodef-woo-page .related.products > h2 { font-size: 34px !important; color: #000; margin-bottom: 24px; }
html body.single-product #qodef-woo-page .related .qodef-woo-product-image { background: #f5f5f5; border-radius: 20px; }
html body.single-product #qodef-woo-page .related .qodef-woo-product-image img { width: 100%; height: 240px; object-fit: contain; padding: 20px; }
html body.single-product #qodef-woo-page .related .qodef-woo-product-title { font-size: 23px !important; color: #000; }
html body.single-product #qodef-woo-page .related .qodef-woo-product-image-inner { display: none !important; }
html body.single-product #qodef-footer-newsletter,
html body.single-product #qodef-footer-image,
html body.single-product #qodef-page-footer .qodef-social-icons-group { display: none !important; }
html body.single-product #qodef-page-footer { background: #000 !important; color: #fff !important; }
html body.single-product #qodef-page-footer :is(h5, p, a) { color: #fff !important; }
html body.single-product #qodef-page-footer-top-area-inner { padding: 48px 0 !important; }
html body.single-product #qodef-page-footer-bottom-area { border-top: 1px solid #333; }
@media (max-width: 767px) {
  html body.single-product #qodef-page-inner { width: calc(100% - 40px) !important; padding-top: 22px !important; padding-bottom: 48px !important; }
  html body.single-product .bg-product-navigation { font-size: 12px; margin-bottom: 22px; gap: 8px; }
  html body.single-product #qodef-woo-page .qodef-woo-single-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  html body.single-product #qodef-woo-page .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a { height: 290px; padding: 24px; }
  html body.single-product #qodef-woo-page .summary .product_title { font-size: 36px !important; margin-bottom: 14px !important; }
  html body.single-product #qodef-woo-page .summary .price { font-size: 18px !important; margin-bottom: 16px !important; }
  html body.single-product a.bg-product-contact { width: 100%; }
  html body.single-product #qodef-woo-page .woocommerce-tabs { margin-top: 38px !important; }
}

html body.single-product #qodef-woo-page .woocommerce-product-gallery,
html body.single-product #qodef-woo-page .woocommerce-product-gallery__wrapper { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
html body.single-product .bg-product-selection { margin-top: 56px; padding-top: 30px; border-top: 1px solid #ddd; }
html body.single-product .bg-product-selection-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
html body.single-product .bg-product-selection-heading h2 { font: 600 34px/1.2 'Cormorant Garamond', serif; color: #000; margin: 0; }
html body.single-product .bg-product-selection-heading > a { flex-shrink: 0; font: 500 13px/1.6 'Work Sans', sans-serif; text-decoration: underline; text-underline-offset: 4px; }
html body.single-product .bg-product-selection-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
html body.single-product .bg-product-selection-card { display: block; border: 1px solid #ddd; border-radius: 24px; overflow: hidden; background: #fff; color: #000; text-decoration: none; }
html body.single-product .bg-product-selection-image { aspect-ratio: 1; background: #f5f5f5; }
html body.single-product .bg-product-selection-image img { display: block; width: 100%; height: 100%; padding: 20px; object-fit: contain; }
html body.single-product .bg-product-selection-copy { padding: 20px; }
html body.single-product .bg-product-selection-copy h3 { font: 600 24px/1.25 'Cormorant Garamond', serif; color: #000; margin: 0 0 14px; }
html body.single-product .bg-product-selection-copy span { font: 500 13px/1.6 'Work Sans', sans-serif; color: #000; text-decoration: underline; text-underline-offset: 4px; }
html body.single-product .bg-product-selection-card:focus-visible { outline: 2px solid #000; outline-offset: 4px; }
@media (max-width: 767px) {
  html body.single-product .bg-product-selection-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  html body.single-product .bg-product-selection-heading h2 { font-size: 30px; }
  html body.single-product .bg-product-selection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  html body.single-product .bg-product-selection-copy { padding: 16px 12px; }
  html body.single-product .bg-product-selection-copy h3 { font-size: 20px; }
  html body.single-product .bg-product-selection-image img { padding: 12px; }
}

/* Theme skin selectors otherwise paint menu text black on the black bar. */
html body #qodef-page-header #qodef-page-header-inner .qodef-header-navigation > ul > li > a,
html body #qodef-page-header #qodef-page-header-inner .qodef-header-navigation > ul > li > a .qodef-menu-item-text,
html body #qodef-page-header .qodef-header-sticky .qodef-header-navigation > ul > li > a,
html body #qodef-page-header .qodef-header-sticky .qodef-header-navigation > ul > li > a .qodef-menu-item-text { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body :is(.qodef-header-logo-link, .qodef-mobile-header-logo-link),
html body :is(.qodef-header-logo-link, .qodef-mobile-header-logo-link) img { opacity: 1 !important; }
html body.single-product #qodef-page-content > .qodef-grid-inner { margin: 0 !important; }

html body.single-product #qodef-woo-page .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image { border: 1px solid #e5e5e5 !important; box-shadow: none !important; }
html body.single-product :is(#qodef-page-footer-top-area, #qodef-page-footer-bottom-area) { background: #000 !important; }

html body .qodef-mobile-header-opener svg line { stroke: #fff !important; }
html body #qodef-page-mobile-header .contattaci-mobile-btn { background: #000 !important; border: 1px solid #888 !important; border-radius: 999px !important; color: #fff !important; }
html body.single-product #qodef-page-footer .qodef-content-grid { width: min(1200px, calc(100% - 80px)) !important; }
html body.single-product #qodef-page-footer .qodef-grid-inner { margin: 0 !important; }
@media (max-width: 767px) {
  html body.single-product #qodef-page-footer .qodef-content-grid { width: calc(100% - 40px) !important; }
  html body.single-product #qodef-page-footer .qodef-grid-item { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Original team portraits introduce the company before the complete project row. */
body.home .elementor-element-bgindexh #chi-siamo-home { background: #fff !important; }
body.home .elementor-element-bgindexh #chi-siamo-home > .wrap {
  display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.25fr);
  gap: clamp(32px, 5vw, 72px); align-items: center;
}
body.home .elementor-element-bgindexh #chi-siamo-home .bg-label {
  display: block; color: #555; margin-bottom: 18px;
  font: 400 14px/1.5 'Work Sans', sans-serif; text-transform: none; letter-spacing: 0;
}
body.home .elementor-element-bgindexh #chi-siamo-home h2 { margin: 0 0 24px !important; }
body.home .elementor-element-bgindexh #chi-siamo-home p {
  font: 400 16px/1.8 'Work Sans', sans-serif; color: #555; max-width: 45ch; margin: 0 0 28px;
}
body.home .elementor-element-bgindexh #chi-siamo-home .bg-about-portraits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
body.home .elementor-element-bgindexh #chi-siamo-home figure { margin: 0; min-width: 0; padding: 0; }
body.home .elementor-element-bgindexh #chi-siamo-home figure:nth-child(2) { padding-top: 36px; }
body.home .elementor-element-bgindexh #chi-siamo-home figure img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 35%;
  border: 0; border-radius: 20px; filter: none;
}
body.home .elementor-element-bgindexh #chi-siamo-home figcaption { margin: 16px 0 0; padding: 0; color: #000; font: 500 24px/1.25 'Cormorant Garamond', serif !important; text-align: left; }
body.home #realizzazioni-home { overflow-x: clip; }
body.home #realizzazioni-home #bgHomeProjects {
  display: flex; flex-wrap: nowrap; gap: 26px; width: auto; max-width: none;
  margin-inline: calc(50% - 50vw);
  overflow-x: auto; overflow-y: hidden; padding: 12px max(36px, calc(50vw - 640px)) 30px;
  scroll-snap-type: x proximity; scroll-padding-inline: max(36px, calc(50vw - 640px));
  overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; -ms-overflow-style: none;
  touch-action: pan-x; user-select: none;
}
body.home #realizzazioni-home #bgHomeProjects > .card {
  flex: 0 0 calc((100% - 80px) / 3); min-width: 0; scroll-snap-align: start;
  border: 0 !important; background: #fff; border-radius: 4px;
  box-shadow: none !important;
  transition: background-color .25s ease;
}
body.home #realizzazioni-home #bgHomeProjects > .card:hover { transform: none; background: #f7f6f2; }
body.home #realizzazioni-home #bgHomeProjects { cursor: grab; }
body.home #realizzazioni-home #bgHomeProjects.is-pointer-down { cursor: grabbing; }
body.home #realizzazioni-home #bgHomeProjects.is-dragging {
  cursor: grabbing;
  user-select: none;
  scroll-snap-type: none;
}
body.home #realizzazioni-home #bgHomeProjects.is-dragging > .card { pointer-events: none; }
body.home #realizzazioni-home #bgHomeProjects:focus-visible,
body.home #realizzazioni-home #bgHomeProjects > .card:focus-visible { outline: 2px solid #000; outline-offset: 4px; }
body.home #realizzazioni-home #bgHomeProjects::-webkit-scrollbar { display: none; width: 0; height: 0; }
@media (max-width: 1024px) {
  body.home .elementor-element-bgindexh #chi-siamo-home > .wrap { grid-template-columns: 1fr; gap: 36px; }
  body.home .elementor-element-bgindexh #chi-siamo-home .bg-about-portraits { max-width: 660px; }
  body.home .elementor-element-bgindexh #chi-siamo-home figure img { aspect-ratio: 1; }
  body.home #realizzazioni-home #bgHomeProjects > .card { flex-basis: calc((100% - 60px) / 2); }
}
@media (max-width: 699px) {
  body.home .elementor-element-bgindexh #chi-siamo-home > .wrap { grid-template-columns: 1fr; gap: 32px; }
  body.home .elementor-element-bgindexh #chi-siamo-home p { font-size: 15px; max-width: 55ch; }
  body.home .elementor-element-bgindexh #chi-siamo-home .bg-about-portraits { gap: 12px; }
  body.home .elementor-element-bgindexh #chi-siamo-home figure:nth-child(2) { padding-top: 24px; }
  body.home .elementor-element-bgindexh #chi-siamo-home figure img { border-radius: 14px; }
  body.home .elementor-element-bgindexh #chi-siamo-home figcaption { font-size: 21px !important; margin-top: 10px; }
  body.home #realizzazioni-home #bgHomeProjects { gap: 18px; padding-inline: 18px; scroll-padding-inline: 18px; }
  body.home #realizzazioni-home #bgHomeProjects > .card { flex-basis: 88%; }
  body.home #realizzazioni-home #bgHomeProjects .c-body { padding: 24px 22px; }
  body.home #realizzazioni-home #bgHomeProjects h3 { font-size: 21px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.home #realizzazioni-home #bgHomeProjects > .card { transition: none; }
}
