/* CSS originale del widget Elementor OMU: home */

/* --- CARICAMENTO FONT --- */
@font-face {
  font-family: "Bugrino";
  src: url("../fonts/Bugrino-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Bugrino";
  src: url("../fonts/Bugrino-Regular.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* BLOCCO TOTALE DEGLI SFORAMENTI INVISIBILI */
.omu-home-root-wrapper {
  overflow: hidden !important; 
  width: 100%;
  display: block;
}

.omu-home {
  --rust: #b95b00;
  --beige: #efd3bf;
  --mint: #00f0bd;
  --black: #000;
  --white: #fff;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  overflow: hidden !important; /* Taglia via qualsiasi scia fantasma generata dal JS */
  container-type: inline-size;
  font-family: Arial, Helvetica, sans-serif;
  box-sizing: border-box;
}

.omu-home *, .omu-home *:before, .omu-home *:after {
  box-sizing: inherit;
}

.omu-home a {
  color: inherit;
  text-decoration: none;
}

/* --- HERO --- */
.omu-hero-wrap {
  display: grid;
  grid-template-columns: 84.5cqw 15.5cqw;
  background: #fff;
}

.omu-hero {
  height: 51.8cqw;
  background: url("../img/home-hero.jpg") center bottom/cover no-repeat;
  border-top-right-radius: 4.4cqw;
  border-bottom-right-radius: 4.4cqw;
  overflow: hidden;
  position: relative;
}

.omu-hero h1 {
  position: absolute;
  top: -.8cqw;
  right: -.5cqw;
  margin: 0;
  color: #fff;
  font-family: "Bugrino", Arial, sans-serif;
  font-size: 12.7cqw;
  line-height: .72;
  text-align: right;
  font-weight: bold;
}

.omu-arrow {
  height: 51.8cqw;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 2cqw;
  font-size: 4.1cqw;
  line-height: 1;
  color: #000;
  pointer-events: none;
}

/* --- INTRO & CLAIM --- */
.omu-intro {
  min-height: 42cqw;
  padding: 2.6cqw 0 3.6cqw;
  position: relative;
}

.omu-card {
  width: 59cqw;
  margin-left: auto;
  margin-right: 0;
  background: var(--rust);
  border-radius: 4.5cqw 0 0 4.5cqw;
  padding: 3.4cqw 4.1cqw 3.1cqw;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2.15cqw;
  line-height: 1.5;
  font-weight: 300;
  color: #000;
}

.omu-card p { margin: 0 0 2.15cqw; }
.omu-card p:last-of-type { margin-bottom: 2.7cqw; }

.omu-pill {
  display: inline-block;
  background: var(--mint);
  border-radius: 0.8cqw;
  padding: 1.15cqw 4.1cqw;
  font-size: 1.75cqw;
  font-weight: 700;
  line-height: 1;
}

.omu-claim {
  height: 57.5cqw;
  background: url("../img/home-claim-original.jpg") center center/cover no-repeat;
  position: relative;
  overflow: hidden;
}

.omu-claim h2 {
  margin: 0;
  position: absolute;
  left: -1.4cqw;
  top: 5.2cqw;
  width: 105cqw;
  color: #fff;
  font-family: "Bugrino", Arial, sans-serif;
  font-size: 11.25cqw;
  line-height: 1.03;
  letter-spacing: .04em;
  font-weight: bold;
  text-transform: uppercase;
  white-space: nowrap;
}

.omu-claim .bar {
  display: inline-block;
  background: #fff;
  height: 6.5cqw;
  vertical-align: middle;
}

.omu-claim .bar-1 { width: 53cqw; margin-left: 1cqw; border-radius: 3cqw 0 0 3cqw; }
.omu-claim .bar-2 { width: 16cqw; margin-right: 1cqw; border-radius: 0 3cqw 3cqw 0; }

/* --- SERVICES --- */
.omu-services {
  height: auto;
  min-height: 24cqw;
  background: var(--beige);
  padding: 5.5cqw 4.4cqw;
  display: grid;
  grid-template-columns: .9fr 1fr 1fr;
  column-gap: 2.5cqw;
  row-gap: 10px;
  align-items: start;
}

.omu-services h2 { 
  margin: 0; 
  font-family: Arial, Helvetica, sans-serif; 
  font-size: 4.35cqw; 
  font-weight: 400; 
  line-height: 0.9;
  grid-column: 1;
  grid-row: 1;
}

.omu-services ul { 
  list-style: none; 
  margin: 0; 
  padding: 0; 
  font-size: 1.35cqw; 
  line-height: 1.65; 
  text-transform: uppercase; 
  font-style: italic; 
  letter-spacing: .03em; 
}

.omu-services ul:nth-of-type(1) { grid-column: 2; grid-row: 2; }
.omu-services ul:nth-of-type(2) { grid-column: 3; grid-row: 2; }

/* --- VALUES --- */
.omu-values {
  height: auto;
  padding: 4cqw 0;
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 2.5cqw;
}

.omu-value-item {
  width: 100%;
  padding: 0 4.3cqw;
  display: flex;
  flex-direction: column;
}

.omu-value-item[data-direction="left"] {
  align-items: flex-start;
  text-align: left;
}

.omu-value-item[data-direction="right"] {
  align-items: flex-end;
  text-align: right;
}

.omu-value {
  font-family: "Bugrino", Arial, sans-serif;
  font-size: 11.2cqw;
  line-height: 1.05;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  font-weight: bold;
  will-change: transform;
}

.omu-value.rust { color: var(--rust); }
.omu-value.black { color: #000; }
.omu-value span { display: inline-block; height: 4.8cqw; background: currentColor; vertical-align: middle; }
.omu-value .rustbar { width: 14.8cqw; }
.omu-value .blackbar { width: 13.5cqw; }

.omu-value-sub {
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(16px, 2cqw, 26px);
  font-weight: 300;
  color: rgba(0, 0, 0, 0.7);
  margin-top: 10px;
  line-height: 1.4;
  width: 100%;
  max-width: 750px;
  will-change: opacity, transform;
  opacity: 0;
  transform: translateY(-8px);
}

.omu-value-sub strong {
  font-weight: bold;
  color: #000;
}

/* --- CONNECT / FOOTER --- */
.omu-connect {
  padding: 0 0 clamp(30px, 5.1cqw, 80px) 4.3cqw;
  display: grid;
  grid-template-columns: .8fr 1.25fr;
  gap: 1.8cqw;
}

.omu-label { 
  margin: 0 0 clamp(10px, 2cqw, 20px); 
  font-size: clamp(18px, 2.55cqw, 28px); 
  font-style: italic; 
  color: rgba(0,0,0,.6); 
  font-weight: 300; 
}

.omu-newsletter, .omu-social a {
  background: var(--beige);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Bugrino", Arial, sans-serif;
  color: #000;
  font-weight: 300;
}

.omu-newsletter { 
  height: clamp(150px, 31.4cqw, 400px); 
  padding: 0 10%; 
  font-size: clamp(32px, 6.15cqw, 80px); 
  line-height: .78; 
  border-radius: clamp(12px, 1.7cqw, 25px);
}

.omu-social a { 
  height: clamp(55px, 9.3cqw, 120px); 
  margin-bottom: clamp(8px, 2cqw, 20px); 
  padding: 0 8%; 
  font-size: clamp(26px, 5.7cqw, 70px); 
  line-height: 1; 
  margin-right: -5cqw;
  padding-right: calc(8% + 5cqw);
  border-radius: clamp(12px, 1.7cqw, 25px) 0 0 clamp(12px, 1.7cqw, 25px);
}

/* --- MOBILE RESPONSIVE --- */
@media(max-width:767px) {
  .omu-hero { height: 50vh; min-height: 360px; }
  .omu-arrow { display: none; }
  .omu-intro { min-height: auto; padding: 4cqw 0 5cqw; }
  
  .omu-card { 
    width: 78cqw; 
    padding: 5cqw 4.8cqw 4.5cqw; 
    font-size: clamp(14px, 3.8cqw, 18px); 
    line-height: 1.5;
  }
  
  .omu-card .omu-pill { 
    display: flex; 
    width: 100%; 
    justify-content: center; 
    align-items: center; 
    padding: 12px 20px; 
    font-size: 16px; 
    text-align: center; 
    border-radius: 8px;
  }
  
  .omu-services { 
    display: flex;
    flex-direction: column;
    height: auto; 
    min-height: 42cqw; 
    padding: 7cqw 4.4cqw; 
    gap: 20px; 
  }
  .omu-services h2 { font-size: 7.5cqw; line-height: 1; transform: none; }
  .omu-services ul { font-size: max(14px, 3.5cqw); line-height: 1.55; }

  .omu-values { 
    gap: 20px; 
    padding: 30px 0 10px 0; 
    margin-bottom: 0;
  }
  .omu-value { font-size: 10.5cqw; }
  .omu-value-sub { font-size: 16px; margin-top: 8px; }

  .omu-connect {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 15px 0 0 4.3cqw !important; /* Forza la rimozione totale dello spazio inutile */
    margin-top: 0;
    margin-bottom: 0 !important;
  }
  
  .omu-social {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .omu-newsletter {
    height: 180px;
    padding: 0 25px;
    border-radius: clamp(12px, 1.7cqw, 25px) 0 0 clamp(12px, 1.7cqw, 25px);
  }

  .omu-social a {
    height: 65px;
    margin-bottom: 12px;
    margin-right: 0;
    padding-right: 25px;
    border-radius: clamp(12px, 1.7cqw, 25px) 0 0 clamp(12px, 1.7cqw, 25px);
  }

  .omu-social a:last-child {
    margin-bottom: 0 !important; /* Taglia matematicamente il fondo bianco */
  }
}
