/* dom.css — CSS custom Domina, unico foglio caricato su tutte le pagine.
   Consolidato dai vecchi <style id="dom-*"> inline + dom-overrides.css + dom-cosa-light.css.
   url() relative a questa cartella (css/) -> ../assets/... */

/* ===== dom-hr-fix ===== */
.elementor-element-d0915ee .elementor-divider-separator {
  border-top-color: #336bad !important;
  border-block-start-color: #336bad !important;
}
header img[src$='logo.png'],
.elementor-widget-image img[src$='logo.png'] {
  background: #fff;
  padding: 7px 12px;
  max-height: 70px;
  width: auto !important;
  height: auto !important;
}

/* ===== dom-hr-hero ===== */
#rev_slider_3_1 .tp-leftarrow,
#rev_slider_3_1 .tp-rightarrow,
#rev_slider_3_1 .tparrows {
  display: none !important;
}
#rev_slider_3_1 rs-sbg-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(8, 15, 28, 0.5);
  z-index: 2;
  pointer-events: none;
}

/* ===== dom-claim-band-css ===== */
.dom-claim-band {
  background: linear-gradient(120deg, #2a3686 0%, #336bad 100%);
  padding: 64px 24px;
}
.dom-claim-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.dom-claim-tagline {
  color: #cdd6f5;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 36px;
  font-weight: 600;
}
.dom-claim-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.dom-claim-cols > div {
  flex: 1 1 240px;
  border-left: 3px solid rgba(255, 255, 255, 0.25);
  padding-left: 20px;
}
.dom-claim-cols span {
  display: block;
  color: #cdd6f5;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 400;
}
.dom-claim-cols strong {
  display: block;
  color: #fff;
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.01em;
}
@media (max-width: 768px) {
  .dom-claim-band {
    padding: 44px 20px;
  }
  .dom-claim-cols {
    gap: 20px;
  }
}

/* ===== dom-partner-css ===== */
.dom-partner-sec {
  background-image: url(../img/blog-ct.webp);
  background-position: center center;
  background-size: cover;
  padding: 70px 24px 70px;
}
.dom-partner-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  align-items: stretch;
}
@media (max-width: 688px) {
  .dom-partner-grid { grid-template-columns: 1fr; }
}
.dom-partner-card {
  background: #fff;
  border: 1px solid #e7e9ef;
  border-radius: 8px;
  padding: 44px 40px;
  box-shadow: 0 10px 30px rgba(20, 28, 39, 0.06);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
/* Agrosoluzioni: box a tutta larghezza sotto i due; testo a sinistra, logo a destra */
.dom-partner-card.dom-partner-wide {
  grid-column: 1 / -1;
  padding: 34px 40px;
  flex-direction: row;
  align-items: center;
  gap: 48px;
}
.dom-partner-wide-text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.dom-partner-card.dom-partner-wide .dom-partner-title {
  margin-bottom: 12px;
}
.dom-partner-wide-text p {
  color: #5b6270;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 688px) {
  .dom-partner-card.dom-partner-wide {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}
.dom-partner-eyebrow {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #336bad;
  font-weight: 600;
  margin-bottom: 8px;
}
.dom-partner-title {
  font-size: 30px;
  color: #1a2233;
  line-height: 1.1;
  margin: 0 0 22px;
}
.dom-partner-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s;
}
.dom-partner-title a:hover {
  color: #336bad;
}
.dom-partner-body {
  display: flex;
  align-items: center;
  gap: 32px;
  width: 100%;
}
.dom-partner-body p {
  flex: 1 1 auto;
  color: #5b6270;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
}
.dom-partner-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dom-partner-logo img {
  max-height: 128px;
  max-width: 240px;
  width: auto;
  display: block;
  border-radius: 10px;
  transition: opacity 0.25s;
}
@media (max-width: 688px) {
  .dom-partner-logo {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
  }
  .dom-partner-logo img {
    max-width: 100%;
  }
}
.dom-partner-logo:hover img {
  opacity: 0.72;
}
@media (max-width: 1100px) {
  .dom-partner-body {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}
@media (max-width: 767px) {
  .dom-partner-card {
    padding: 36px 24px;
  }
  .dom-partner-title {
    font-size: 24px;
  }
}

/* ===== dom-cta-band-css ===== */
.dom-cta-band {
  background-image: url(../img/h7-9.webp);
  padding: 76px 24px;
  background-position: top center;
  background-size: cover;
}
.dom-cta-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
}
.dom-cta-text {
  flex: 1 1 480px;
}
.dom-cta-text h3 {
  color: #1a2233;
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 14px;
}
.dom-cta-text p {
  color: #5b6270;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  max-width: 620px;
}
.dom-cta-btnwrap {
  flex: 0 0 auto;
}
@media (max-width: 768px) {
  .dom-cta-band {
    padding: 52px 20px;
  }
  .dom-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 28px;
  }
  .dom-cta-text {
    flex: 0 0 auto;
  }
}

/* ===== dom-footer-css ===== */
.dom-footer {
  background: #0f1826;
  color: #aeb6c4;
}
.dom-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 24px 0;
}
.dom-footerb-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.dom-footerb-logo {
  height: 42px;
  width: auto;
  display: block;
  flex: 0 0 auto;
}
.dom-footerb-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end;
}
.dom-footerb-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 26px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.dom-footerb-row.menu {
  gap: 10px 28px;
}
.dom-footerb-row li {
  font-size: 14px;
  line-height: 1.4;
  color: #aeb6c4;
}
.dom-footerb-row a,
.dom-footerb-row li {
  color: #aeb6c4;
  text-decoration: none;
  transition: color 0.25s;
}
.dom-footerb-row.menu a {
  color: #fff;
  font-weight: 600;
}
.dom-footerb-row a:hover {
  color: #fff;
}
.dom-footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 44px;
  padding: 22px 0 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 13px;
  color: #7c8698;
}
.dom-footer-bottom a {
  color: #7c8698;
  text-decoration: none;
  transition: color 0.25s;
}
.dom-footer-bottom a:hover {
  color: #fff;
}
@media (max-width: 860px) {
  .dom-footer-inner {
    padding: 44px 20px 0;
  }
  .dom-footerb-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
  }
  .dom-footerb-info {
    align-items: flex-start;
  }
  .dom-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ===== dom-banner-hero ===== */
.elementor-element-dd6246f {
  background-image:
    linear-gradient(rgba(8, 15, 28, 0.5), rgba(8, 15, 28, 0.5)),
    url('../img/hero-domina.jpeg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.elementor-element-dd6246f video,
.elementor-element-dd6246f .elementor-background-video-container,
.elementor-element-dd6246f .elementor-background-video-embed,
.elementor-element-dd6246f .pxl-video-bg,
.elementor-element-dd6246f [class*='video-bg'] {
  display: none !important;
}

/* ===== dom-parallax-css ===== */
.elementor-element-4c63c9e {
  height: 230px !important;
  min-height: 230px !important;
  overflow: hidden;
  background-image: url('../img/hero-domina.jpeg');
  background-size: cover;
  background-position: center 28%;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
.elementor-element-4c63c9e .elementor-widget-container {
  display: none !important;
}
@media (max-width: 768px) {
  .elementor-element-4c63c9e {
    min-height: 170px;
    background-attachment: scroll;
  }
}
/* Icone valori: colore via currentColor, bianche
                                   all'hover quando il cerchio diventa scuro. */
.pxl-icon-box3 .pxl-item--icon svg {
  color: #1a2233;
}
.pxl-icon-box3 .pxl-item--icon svg,
.pxl-icon-box3 .pxl-item--icon svg * {
  fill: none !important;
}
.pxl-icon-box3:hover .pxl-item--icon svg {
  color: #ffffff;
}
/* Due bottoni primo blocco: stile home (radius, font,
                                   freccia, sweep glossy) mantenendo i colori base
                                   (uno navy, uno bianco). */
.elementor-element-a111550 .pxl-button .btn,
.elementor-element-b43b369 .pxl-button .btn {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  padding: 0 30px !important;
  line-height: 52px !important;
  position: relative;
  overflow: hidden;
}
.elementor-element-a111550 .pxl-button .btn .pxl--btn-text,
.elementor-element-b43b369 .pxl-button .btn .pxl--btn-text {
  order: 1;
}
.elementor-element-a111550 .pxl-button .btn svg,
.elementor-element-b43b369 .pxl-button .btn svg {
  order: 2;
  width: 23px;
  height: 15px;
  margin-left: 12px;
  margin-right: 0;
}
/* navy */
.elementor-element-a111550 .pxl-button .btn,
.elementor-element-a111550 .pxl-button .btn:hover {
  background-color: #121c27 !important;
  color: #fff !important;
  border: none !important;
}
.elementor-element-a111550 .pxl-button .btn .pxl--btn-text {
  color: #fff !important;
}
.elementor-element-a111550 .pxl-button .btn svg polygon,
.elementor-element-a111550 .pxl-button .btn svg rect {
  fill: #fff !important;
}
/* bianco */
.elementor-element-b43b369 .pxl-button .btn,
.elementor-element-b43b369 .pxl-button .btn:hover {
  background-color: #fff !important;
  color: #121c27 !important;
  border: 1px solid #d9d6cf !important;
}
.elementor-element-b43b369 .pxl-button .btn .pxl--btn-text {
  color: #121c27 !important;
}
.elementor-element-b43b369 .pxl-button .btn svg polygon,
.elementor-element-b43b369 .pxl-button .btn svg rect {
  fill: #121c27 !important;
}
/* sweep glossy */
.elementor-element-a111550 .pxl-button .btn::before,
.elementor-element-b43b369 .pxl-button .btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: skewX(-20deg) translateX(-130%);
  transition: transform 0.55s cubic-bezier(0.645, 0.045, 0.355, 1);
  pointer-events: none;
}
.elementor-element-a111550 .pxl-button .btn::before {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.22),
    rgba(255, 255, 255, 0)
  );
}
.elementor-element-b43b369 .pxl-button .btn::before {
  background: linear-gradient(
    to right,
    rgba(42, 54, 134, 0),
    rgba(42, 54, 134, 0.18),
    rgba(42, 54, 134, 0)
  );
}
.elementor-element-a111550 .pxl-button .btn:hover::before,
.elementor-element-b43b369 .pxl-button .btn:hover::before {
  transform: skewX(-20deg) translateX(130%);
}

/* ===== dom-quals-css ===== */
.dom-quals {
  padding: 84px 24px;
}
.dom-quals-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.dom-quals-eyebrow {
  display: inline-block;
  color: #336bad;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 10px;
}
/* ---- Variante A ---- */
.dom-quals-a {
  background: #f4f2ee;
}
.dom-qa-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 56px;
}
.dom-qa-left {
  flex: 1 1 320px;
  max-width: 380px;
}
.dom-qa-left h3 {
  color: #1a2233;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 16px;
}
.dom-qa-left p {
  color: #5b6270;
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 26px;
}
.dom-qa-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #121c27;
  color: #fff;
  font-size: 15px;
  padding: 0 28px;
  line-height: 52px;
  border-radius: 8px;
  text-decoration: none;
  transition: opacity 0.25s;
}
.dom-qa-btn:hover {
  opacity: 0.9;
  color: #fff;
}
.dom-qa-btn svg {
  width: 22px;
  height: 14px;
}
.dom-qa-list {
  flex: 1 1 320px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.dom-qa-list li {
  position: relative;
  padding: 0 0 0 34px;
  margin-bottom: 20px;
  color: #2a3040;
  font-size: 16px;
  line-height: 1.5;
}
.dom-qa-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #336bad;
}
.dom-qa-list li::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 8px;
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.dom-qa-badge {
  flex: 0 0 220px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: #121c27;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
.dom-qa-badge strong {
  font-size: 58px;
  font-weight: 800;
  line-height: 1;
}
.dom-qa-badge span {
  font-size: 13px;
  color: #cdd6e4;
  margin-top: 10px;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .dom-qa-badge {
    order: -1;
  }
}
/* ---- Variante B ---- */
.dom-quals-b {
  background: #f4f2ee;
}
.dom-qb-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 44px;
}
.dom-qb-head h3 {
  color: #1a2233;
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0;
}
.dom-qb-head p {
  color: #5b6270;
  font-size: 16px;
  line-height: 1.7;
  margin: 16px 0 0;
  max-width: 680px;
}
.dom-qb-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 56px;
}
.dom-qb-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid #ddd7cd;
  color: #2a3040;
  font-size: 15.5px;
  line-height: 1.35;
}
.dom-qb-item svg {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: #336bad;
}
@media (max-width: 900px) {
  .dom-qb-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
  }
}
@media (max-width: 600px) {
  .dom-qb-grid {
    grid-template-columns: 1fr;
  }
}
/* Collaborazioni (72a5d9f): allinea a Competenze (max-width 1200)
                           e aggiungi padding verticale. */
.elementor-element-72a5d9f > .elementor-container {
  max-width: 1200px !important;
}
.elementor-element-72a5d9f {
  padding-top: 84px !important;
  padding-bottom: 60px !important;
}

/* ===== dom-collab-css ===== */
.dom-collab {
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 0 24px;
}
.dom-collab-item {
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 40px 0;
}
.dom-collab-item + .dom-collab-item {
  border-top: 1px solid #e2e0da;
}
.dom-collab-logo {
  flex: 0 0 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dom-collab-logo img {
  width: auto;
  border-radius: 10px;
  transition: opacity 0.25s;
}
.dom-collab-logo img.dom-logo-teorema {
  width: 270px;
}
.dom-collab-logo img.dom-logo-agro {
  width: 180px;
}
.dom-collab-logo img.dom-logo-teorema-fi {
  width: 270px;
}
.dom-collab-logo a:hover img {
  opacity: 0.72;
}
.dom-collab-body {
  flex: 1 1 auto;
}
.dom-collab-eyebrow {
  display: inline-block;
  color: #336bad;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 6px;
}
.dom-collab-body h4 {
  color: #1a2233;
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 10px;
}
.dom-collab-body h4 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s;
}
.dom-collab-body h4 a:hover {
  color: #336bad;
}
.dom-collab-body p {
  color: #5b6270;
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 768px) {
  .dom-collab-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 30px 0;
  }
  .dom-collab-logo {
    justify-content: flex-start;
    flex-basis: auto;
  }
}

/* ===== dom-cta-band-css ===== */
.dom-cta-band {
  background-image: url(../img/h7-9.webp);
  padding: 76px 24px;
  background-position: top center;
  background-size: cover;
}
.dom-cta-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
}
.dom-cta-text {
  flex: 1 1 480px;
}
.dom-cta-text h3 {
  color: #1a2233;
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 14px;
}
.dom-cta-text p {
  color: #5b6270;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  max-width: 620px;
}
.dom-cta-btnwrap {
  flex: 0 0 auto;
}
@media (max-width: 768px) {
  .dom-cta-band {
    padding: 52px 20px;
  }
  .dom-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 28px;
  }
  .dom-cta-text {
    flex: 0 0 auto;
  }
}

.dom-cta-band .pxl-button .btn {
  background-color: #121c27 !important;
  border-radius: 8px !important;
  padding: 0 30px !important;
  line-height: 56px !important;
}
.dom-cta-band .pxl-button .btn,
.dom-cta-band .pxl-button .btn .pxl--btn-text {
  color: #fff !important;
  font-weight: 400 !important;
  font-size: 15px !important;
}
.dom-cta-band .pxl-button .btn svg,
.dom-cta-band .pxl-button .btn svg path,
.dom-cta-band .pxl-button .btn svg polygon,
.dom-cta-band .pxl-button .btn svg rect {
  fill: #fff !important;
}
.dom-cta-band .pxl-button .btn svg {
  width: 23px !important;
  margin-left: 12px;
}
.dom-cta-band .pxl-button .btn:hover {
  background-color: #121c27 !important;
  color: #fff !important;
}

/* ===== dom-footer-css ===== */
.dom-footer {
  background: #0f1826;
  color: #aeb6c4;
}
.dom-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 24px 0;
}
.dom-footerb-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.dom-footerb-logo {
  height: 42px;
  width: auto;
  display: block;
  flex: 0 0 auto;
}
.dom-footerb-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end;
}
.dom-footerb-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 26px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.dom-footerb-row.menu {
  gap: 10px 28px;
}
.dom-footerb-row li {
  font-size: 14px;
  line-height: 1.4;
  color: #aeb6c4;
}
.dom-footerb-row a,
.dom-footerb-row li {
  color: #aeb6c4;
  text-decoration: none;
  transition: color 0.25s;
}
.dom-footerb-row.menu a {
  color: #fff;
  font-weight: 600;
}
.dom-footerb-row a:hover {
  color: #fff;
}
.dom-footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 44px;
  padding: 22px 0 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 13px;
  color: #7c8698;
}
.dom-footer-bottom a {
  color: #7c8698;
  text-decoration: none;
  transition: color 0.25s;
}
.dom-footer-bottom a:hover {
  color: #fff;
}
@media (max-width: 860px) {
  .dom-footer-inner {
    padding: 44px 20px 0;
  }
  .dom-footerb-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
  }
  .dom-footerb-info {
    align-items: flex-start;
  }
  .dom-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ===== dom-banner-hero ===== */
.elementor-element-4fa7a93 {
  background-image:
    linear-gradient(rgba(8, 15, 28, 0.5), rgba(8, 15, 28, 0.5)),
    url('../img/hero-domina.jpeg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* ===== dom-wa-style ===== */
.dom-wa-wrap {
  margin: 22px 0 4px;
}
.dom-wa-wrap .btn,
.dom-wa-wrap .btn:hover {
  background-color: #25d366 !important;
  border-radius: 8px !important;
  padding: 0 30px !important;
  line-height: 50px !important;
}
.dom-wa-wrap .btn,
.dom-wa-wrap .btn .pxl--btn-text {
  color: #ffffff !important;
  font-weight: 400 !important;
  font-size: 15px !important;
}
.dom-wa-wrap .btn svg,
.dom-wa-wrap .btn svg path {
  fill: #ffffff !important;
}
.dom-wa-wrap .btn svg {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  margin: 0 0 0 10px !important;
  vertical-align: middle;
  flex: none !important;
}
.dom-wa-wrap .btn {
  display: inline-flex !important;
  align-items: center !important;
}

/* ===== dom-map-style ===== */
.dom-map {
  position: relative;
  display: block;
  height: 100%;
  min-height: 460px;
  border-radius: 12px;
  overflow: hidden;
}
.dom-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(1px);
  transform: scale(1.04);
  transition:
    filter 0.3s ease,
    transform 0.3s ease;
}
.dom-map:hover img {
  filter: blur(2px);
  transform: scale(1.06);
}
.dom-map::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(18, 28, 39, 0.2);
  transition: background 0.3s ease;
}
.dom-map:hover::after {
  background: rgba(18, 28, 39, 0.3);
}
.dom-map-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 28px;
  text-align: center;
}
.dom-map-title {
  margin: 0;
  color: #ffffff;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.4;
}
.dom-map-cta {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: #121c27;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  padding: 15px 26px;
  border-radius: 8px;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.28);
}
.dom-map-cta svg {
  width: 16px;
  height: 16px;
  fill: #121c27;
  flex: none;
}
.dom-map-cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.08) 50%,
    rgba(0, 0, 0, 0) 100%
  );
  transform: skewX(-20deg) translateX(-130%);
  transition: transform 0.55s cubic-bezier(0.645, 0.045, 0.355, 1);
  pointer-events: none;
}
.dom-map:hover .dom-map-cta::before {
  transform: skewX(-20deg) translateX(130%);
}
@media (max-width: 1024px) {
  .dom-map {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

/* ===== dom-banner-hero ===== */
.elementor-element-4fa7a93 {
  background-image:
    linear-gradient(rgba(8, 15, 28, 0.5), rgba(8, 15, 28, 0.5)),
    url('../img/hero-domina.jpeg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* ===== dom-cta-band-css ===== */
.dom-cta-band {
  background-image: url(../img/h7-9.webp);
  padding: 76px 24px;
  background-position: top center;
  background-size: cover;
}
.dom-cta-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
}
.dom-cta-text {
  flex: 1 1 480px;
}
.dom-cta-text h3 {
  color: #1a2233;
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 14px;
}
.dom-cta-text p {
  color: #5b6270;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  max-width: 620px;
}
.dom-cta-btnwrap {
  flex: 0 0 auto;
}
@media (max-width: 768px) {
  .dom-cta-band {
    padding: 52px 20px;
  }
  .dom-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 28px;
  }
  .dom-cta-text {
    flex: 0 0 auto;
  }
}
.dom-cta-band .pxl-button .btn svg,
.dom-cta-band .pxl-button .btn svg polygon,
.dom-cta-band .pxl-button .btn svg rect {
  fill: #ffffff !important;
}

/* ===== dom-cta-band-css ===== */
.dom-cta-band {
  background-image: url(../img/h7-9.webp);
  padding: 76px 24px;
  background-position: top center;
  background-size: cover;
}
.dom-cta-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
}
.dom-cta-text {
  flex: 1 1 480px;
}
.dom-cta-text h3 {
  color: #1a2233;
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 14px;
}
.dom-cta-text p {
  color: #5b6270;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  max-width: 620px;
}
.dom-cta-btnwrap {
  flex: 0 0 auto;
}
@media (max-width: 768px) {
  .dom-cta-band {
    padding: 52px 20px;
  }
  .dom-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 28px;
  }
  .dom-cta-text {
    flex: 0 0 auto;
  }
}

.dom-cta-band .pxl-button .btn {
  background-color: #121c27 !important;
  border-radius: 8px !important;
  padding: 0 30px !important;
  line-height: 56px !important;
}
.dom-cta-band .pxl-button .btn,
.dom-cta-band .pxl-button .btn .pxl--btn-text {
  color: #fff !important;
  font-weight: 400 !important;
  font-size: 15px !important;
}
.dom-cta-band .pxl-button .btn svg,
.dom-cta-band .pxl-button .btn svg path,
.dom-cta-band .pxl-button .btn svg polygon,
.dom-cta-band .pxl-button .btn svg rect {
  fill: #fff !important;
}
.dom-cta-band .pxl-button .btn svg {
  width: 23px !important;
  margin-left: 12px;
}
.dom-cta-band .pxl-button .btn:hover {
  background-color: #121c27 !important;
  color: #fff !important;
}

/* ===== css/dom-overrides.css ===== */
/* Override home-wide Domina */

/* Bottoni di contenuto che restano navy anche in hover (studio, servizi, fascia
   CTA): freccia bianca in entrambi gli stati, larghezza uniforme e spazio dal
   testo. L'header NON è toccato: usa le sue regole (bianca a riposo, scura in
   hover quando lo sfondo diventa chiaro). */
.elementor-element-899dbeb .pxl-button .btn svg,
.elementor-element-899dbeb .pxl-button .btn svg polygon,
.elementor-element-899dbeb .pxl-button .btn svg rect,
.elementor-element-a64a1dc .pxl-button .btn svg,
.elementor-element-a64a1dc .pxl-button .btn svg polygon,
.elementor-element-a64a1dc .pxl-button .btn svg rect,
.dom-cta-band .pxl-button .btn svg,
.dom-cta-band .pxl-button .btn svg polygon,
.dom-cta-band .pxl-button .btn svg rect {
  fill: #ffffff !important;
}
.elementor-element-899dbeb .pxl-button .btn svg,
.elementor-element-a64a1dc .pxl-button .btn svg,
.dom-cta-band .pxl-button .btn svg {
  width: 23px !important;
  margin-left: 12px;
}

/* Bottone "Guarda tutti i lavori" (6a6ba33): stesso hover del bottone studio
   -> resta navy #121c27, niente virata blu #336bad. */
.elementor-element-6a6ba33 .pxl-button .btn:hover {
  background-color: #121c27 !important;
}

/* Bottone "Hai una nuova domanda? Contattaci" (b884c1f): uniformato agli altri
   -> border-radius 8px (no pill), bg navy #121c27 a riposo e hover. */
.elementor-element-b884c1f .pxl-button .btn,
.elementor-element-b884c1f .pxl-button .btn:hover {
  border-radius: 8px !important;
  background-color: #121c27 !important;
}

/* Sezione servizi (a64a1dc): "Scopri di più" reso navy pieno come gli altri
   bottoni della home (studio/lavori/contatti), leggermente più piccolo, con
   più stacco dal blocco servizio successivo. */
.elementor-element-a64a1dc .elementor-widget-pxl_button {
  margin-top: 20px;
  margin-bottom: 46px;
}
.elementor-element-a64a1dc .pxl-button .btn {
  background-color: #121c27 !important;
  border-radius: 8px !important;
  padding: 0 24px !important;
  line-height: 44px !important;
  font-size: 14px !important;
}

/* Servizi su mobile: l'immagine+nav (image_scroll) non regge il layout a due
   colonne -> nascondo la lista titoli che sborda e tengo solo l'immagine
   a tutta larghezza (l'elenco servizi completo resta sotto). */
@media (max-width: 767px) {
  .elementor-element-959a4fb .wrap-content {
    display: none !important;
  }
  .elementor-element-959a4fb .wrap-image {
    width: 100% !important;
  }
  .elementor-element-959a4fb .wrap-image img {
    width: 100% !important;
    height: auto !important;
  }
}

/* Colonna destra servizi (b04a17b): allinea verticalmente col blocco sinistro
   solo da desktop, quando le due colonne sono affiancate. */
@media (min-width: 768px) {
  .elementor-element-b04a17b {
    padding-top: 150px !important;
  }
}

/* Stacca l'immagine dal titolo/barra nella sezione servizi. */
.elementor-element-a64a1dc .elementor-element-959a4fb {
  margin-top: 40px;
}

/* Sezione Lavori (0aacbb8): sfondo beige coerente con la home. */
.elementor-element-0aacbb8 {
  background-color: rgb(236, 230, 225);
}
.elementor-element-a64a1dc .pxl-button .btn,
.elementor-element-a64a1dc .pxl-button .btn .pxl--btn-text,
.elementor-element-a64a1dc .pxl-button .btn .flaticon {
  color: #ffffff !important;
}
.elementor-element-a64a1dc .pxl-button .btn:hover {
  background-color: #121c27 !important;
  color: #ffffff !important;
}

/* Fascia CTA home (dom-cta-band): bottone navy pieno come gli altri,
   hover glossy dal tema (btn-glossy). */
.dom-cta-band .pxl-button .btn {
  background-color: #121c27 !important;
  border-radius: 8px !important;
  padding: 0 30px !important;
  line-height: 56px !important;
}
.dom-cta-band .pxl-button .btn,
.dom-cta-band .pxl-button .btn .pxl--btn-text {
  font-weight: 400 !important;
  font-size: 15px !important;
}
.dom-cta-band .pxl-button .btn,
.dom-cta-band .pxl-button .btn .pxl--btn-text {
  color: #ffffff !important;
}
.dom-cta-band .pxl-button .btn svg,
.dom-cta-band .pxl-button .btn svg path {
  fill: #ffffff !important;
}
.dom-cta-band .pxl-button .btn:hover {
  background-color: #121c27 !important;
  color: #ffffff !important;
}

/* Bottone hero (rs-layer bianco): resta bianco all'hover, con sweep glossy blu
   (stesso effetto dei bottoni scuri, ma colore logo su fondo bianco). */
#slider-3-slide-7-layer-4 {
  overflow: hidden;
}
#slider-3-slide-7-layer-4::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(42, 54, 134, 0) 0%,
    rgba(42, 54, 134, 0.35) 50%,
    rgba(42, 54, 134, 0) 100%
  );
  transform: skewX(-20deg) translateX(-130%);
  transition: transform 0.55s cubic-bezier(0.645, 0.045, 0.355, 1);
  pointer-events: none;
  z-index: 0;
}
#slider-3-slide-7-layer-4:hover::before {
  transform: skewX(-20deg) translateX(130%);
}

/* ===== css/dom-cosa-light.css ===== */
/* "Cosa offriamo" versione chiara: ribalta i colori del blocco b6423fa. */
.dom-cosa-light
  .elementor-element-cfb9168:not(
    .elementor-motion-effects-element-type-background
  )
  > .elementor-widget-wrap {
  background-color: #ffffff !important;
  border-radius: 10px !important;
}
/* Heading + intro */
.dom-cosa-light .pxl-heading .pxl-item--title {
  color: #0a1119 !important;
  -webkit-text-stroke-color: #0a1119 !important;
}
.dom-cosa-light .pxl-text-editor,
.dom-cosa-light .pxl-text-editor p {
  color: rgb(75, 83, 93) !important;
}
/* Divider */
.dom-cosa-light [class*='elementor-element-17daa5d'] {
  --divider-color: #d8cfc6 !important;
}
/* Icon-box: titolo, descrizione, cerchio icona, svg */
.dom-cosa-light .pxl-icon-box .pxl-item--title,
.dom-cosa-light .pxl-icon-box .pxl-item--title a {
  color: #0a1119 !important;
}
.dom-cosa-light .pxl-icon-box .pxl-item--description {
  color: rgb(75, 83, 93) !important;
}
.dom-cosa-light .pxl-icon-box .pxl-item--icon {
  background-color: rgb(18, 28, 39) !important;
  border-color: rgb(18, 28, 39) !important;
}
.dom-cosa-light .pxl-icon-box .pxl-item--icon svg {
  stroke: #ffffff !important;
  fill: none !important;
  width: 30px !important;
  height: 30px !important;
}
.dom-cosa-light .pxl-icon-box .pxl-item--icon svg path,
.dom-cosa-light .pxl-icon-box .pxl-item--icon svg circle,
.dom-cosa-light .pxl-icon-box .pxl-item--icon svg line,
.dom-cosa-light .pxl-icon-box .pxl-item--icon svg polyline,
.dom-cosa-light .pxl-icon-box .pxl-item--icon svg rect {
  fill: none !important;
  stroke: #ffffff !important;
}

/* Allinea in alto i box (le righe demo usano align-items:flex-end). */
.dom-cosa-light
  .elementor-element-b35fd67
  > .elementor-container
  > .elementor-column
  > .elementor-widget-wrap,
.dom-cosa-light
  .elementor-element-8e35b0e
  > .elementor-container
  > .elementor-column
  > .elementor-widget-wrap {
  align-content: flex-start !important;
  align-items: flex-start !important;
}
/* Icona e testo allineati in alto dentro ogni box. */
.dom-cosa-light .pxl-icon-box3 .pxl-item--inner {
  align-items: flex-start !important;
}

/* ===== Contatti: allinea il contenuto della fascia sotto l'hero alla stessa
   max-width delle altre sezioni (bg grigio resta a tutta larghezza). ===== */
.elementor-element-4cb52f3 > .elementor-container {
  max-width: 1320px !important;
}

/* Shim Elementor: gli elementi con animazione d'ingresso restano visibili (niente reveal core). */
.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

/* ===== Home hero statico (sostituisce revslider): Ken Burns bg + entrata scaglionata ===== */
.dom-hero {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  /* full-bleed: larghezza viewport anche dentro container con padding */
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.dom-hero-bg {
  position: absolute;
  inset: 0;
  background: url('../img/hero-domina.jpeg') center center / cover
    no-repeat;
  animation: domKenBurns 7s cubic-bezier(0.12, 0.66, 0.28, 1) forwards;
  will-change: transform;
}
@keyframes domKenBurns {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.18);
  }
}
.dom-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(18, 28, 39, 0.62) 0%,
    rgba(18, 28, 39, 0.38) 55%,
    rgba(18, 28, 39, 0.15) 100%
  );
}
.dom-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 130px 15px 13vh;
}
.dom-hero-title {
  margin: 0 0 38px;
  max-width: 620px;
  color: #fff;
  font-size: 55px;
  line-height: 1.16;
  font-weight: 400;
  opacity: 0;
  transform: translateY(45px);
  animation: domHeroIn 0.95s cubic-bezier(0.16, 0.7, 0.3, 1) 0.25s forwards;
}
.dom-hero-btn {
  display: inline-flex;
  align-items: center;
  background: #fff;
  color: #121c27;
  font-size: 15px;
  font-weight: 500;
  line-height: 54px;
  padding: 0 30px;
  border-radius: 8px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(45px);
  animation: domHeroIn 0.95s cubic-bezier(0.16, 0.7, 0.3, 1) 0.55s forwards;
}
.dom-hero-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.08) 50%,
    rgba(0, 0, 0, 0) 100%
  );
  transform: skewX(-20deg) translateX(-130%);
  transition: transform 0.55s cubic-bezier(0.645, 0.045, 0.355, 1);
  pointer-events: none;
}
.dom-hero-btn:hover::before {
  transform: skewX(-20deg) translateX(130%);
}
@keyframes domHeroIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1024px) {
  .dom-hero {
    min-height: 72vh;
  }
  .dom-hero-title {
    font-size: 42px;
  }
  .dom-hero-inner {
    padding: 115px 30px 50px;
  }
}
@media (max-width: 600px) {
  .dom-hero-title {
    font-size: 32px;
  }
}

/* ===== CTA "Scopri di più sullo studio" in fondo al blocco vantaggi ===== */
.dom-about-cta {
  text-align: left;
  margin-top: 34px;
}
.dom-about-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #121c27 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 0 30px !important;
  line-height: 54px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.dom-about-btn svg,
.dom-about-btn svg polygon,
.dom-about-btn svg rect {
  fill: #fff !important;
  width: 22px;
  height: auto;
}
.dom-about-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.22) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg) translateX(-130%);
  transition: transform 0.55s cubic-bezier(0.645, 0.045, 0.355, 1);
  pointer-events: none;
}
.dom-about-btn:hover::before {
  transform: skewX(-20deg) translateX(130%);
}

/* Stacco tra CTA/paragrafo vantaggi e lo slider numerato sotto. */
.elementor-element-353c006 {
  margin-top: 40px !important;
}

/* ===== blocco e66f5fd (da testimonials): sezione testo + immagine + CTA ===== */
.elementor-element.elementor-element-e66f5fd
  > .elementor-container
  > .elementor-column
  > .elementor-widget-wrap {
  align-content: center;
  align-items: center;
}
.elementor-element.elementor-element-e66f5fd {
  margin-top: 50px;
  margin-bottom: 0px;
  padding: 0px 50px;
}
.elementor-element.elementor-element-23051ed:not(
    .elementor-motion-effects-element-type-background
  )
  > .elementor-widget-wrap,
.elementor-element.elementor-element-23051ed
  > .elementor-widget-wrap
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-image: url('../img/geom-antonino-domina.jpg');
  background-position: center top;
  background-size: cover;
}
.elementor-element.elementor-element-23051ed > .elementor-element-populated {
  transition:
    background 0.3s,
    border 0.3s,
    border-radius 0.3s,
    box-shadow 0.3s;
  padding: 0px;
}
.elementor-element.elementor-element-0ee4e8a {
  --spacer-size: 512px;
}
.elementor-element.elementor-element-1a78ca6 {
  width: auto;
  bottom: 35px;
}
.elementor-element.elementor-element-1a78ca6 > .elementor-widget-container {
  background-color: rgba(255, 255, 255, 0.27);
  padding: 67px 31px 13px;
  border-radius: 10000px;
}
body:not(.rtl) .elementor-element.elementor-element-1a78ca6 {
  right: 40px;
}
.elementor-element.elementor-element-1a78ca6 .pxl-text-editor,
.elementor-element.elementor-element-1a78ca6 .pxl-text-editor p {
  color: rgb(255, 255, 255);
  font-size: 94px;
  line-height: 21px;
}
.elementor-element.elementor-element-d733f12:not(
    .elementor-motion-effects-element-type-background
  )
  > .elementor-widget-wrap,
.elementor-element.elementor-element-d733f12
  > .elementor-widget-wrap
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: rgb(231, 231, 231);
}
.elementor-element.elementor-element-d733f12 > .elementor-element-populated {
  transition:
    background 0.3s,
    border 0.3s,
    border-radius 0.3s,
    box-shadow 0.3s;
  padding: 70px;
}
.elementor-element.elementor-element-a26d57c .pxl-heading .pxl-item--title {
  font-size: 45px;
  font-weight: 500;
  line-height: 55px;
  margin-bottom: 0px;
}
.elementor-element.elementor-element-c9c0771 > .elementor-widget-container {
  margin: 23px 0px 0px;
}
.elementor-element.elementor-element-c9c0771 .pxl-text-editor .pxl-item--inner {
  max-width: 763px;
}
.elementor-element.elementor-element-c9c0771 .pxl-text-editor,
.elementor-element.elementor-element-c9c0771 .pxl-text-editor p {
  color: rgb(75, 83, 93);
  font-size: 20px;
  line-height: 33px;
}
.elementor-element.elementor-element-bd80156 .pxl-button {
  text-align: left;
}
.elementor-element.elementor-element-bd80156 .pxl-button .btn {
  color: rgb(255, 255, 255);
  background-color: rgb(10, 17, 25);
  font-size: 15px;
  font-weight: 400;
  line-height: 50px;
  border-radius: 11111px;
  padding: 0px 35px;
}
.elementor-element.elementor-element-9085b57 {
  width: auto;
  top: 447px;
}
body:not(.rtl) .elementor-element.elementor-element-9085b57 {
  right: -17px;
}
.elementor-element.elementor-element-8346a8c {
  width: auto;
  top: 382px;
}
body:not(.rtl) .elementor-element.elementor-element-8346a8c {
  right: -233px;
}
@media (max-width: 1500px) {
  .elementor-element.elementor-element-e66f5fd {
    padding: 0px 15px;
  }
}
@media (max-width: 1200px) {
  .elementor-element.elementor-element-d733f12 > .elementor-element-populated {
    padding: 25px;
  }
}
@media (max-width: 1024px) {
  .elementor-element.elementor-element-a26d57c .pxl-heading .pxl-item--title {
    font-size: 32px;
    line-height: 45px;
  }
  .elementor-element.elementor-element-c9c0771 .pxl-text-editor,
  .elementor-element.elementor-element-c9c0771 .pxl-text-editor p {
    font-size: 18px;
    line-height: 30px;
  }
}
@media (max-width: 767px) {
  .elementor-element.elementor-element-e66f5fd {
    margin-top: 70px;
    margin-bottom: 0px;
  }
  .elementor-element.elementor-element-0ee4e8a {
    --spacer-size: 350px;
  }
  .elementor-element.elementor-element-1a78ca6 > .elementor-widget-container {
    padding: 57px 21px 3px;
  }
  body:not(.rtl) .elementor-element.elementor-element-1a78ca6 {
    right: 15px;
  }
  .elementor-element.elementor-element-1a78ca6 {
    bottom: 15px;
  }
  .elementor-element.elementor-element-d733f12 > .elementor-element-populated {
    padding: 50px 15px 70px;
  }
  .elementor-element.elementor-element-bd80156 .pxl-button .btn {
    font-size: 14px;
    padding: 0px 20px;
  }
}
@media (min-width: 768px) {
  .elementor-element.elementor-element-23051ed {
    width: 45%;
  }
  .elementor-element.elementor-element-d733f12 {
    width: 55%;
  }
}

/* Blocco intro/foto (23051ed): su mobile la colonna-immagine (background) non collassa. */
@media (max-width: 767px) {
  .elementor-element-23051ed,
  .elementor-element-23051ed > .elementor-widget-wrap {
    min-height: 340px;
  }
}

/* Blocco foto/intro (e66f5fd): stessa max-width delle altre sezioni (come effb62b). */
.elementor-element-e66f5fd > .elementor-container {
  max-width: 1320px !important;
}

/* ===== titoli card portfolio come h3 =====
   Scalati da h5 a h3 per gerarchia heading corretta.
   Fisso lo stile ai valori originali cosi' il render non cambia. */
.pxl-post--holder h3.pxl-post--title,
.pxl-post--holder h5.pxl-post--title {
  font-size: 22px;
  line-height: 32px;
  font-weight: 500;
  margin: 0 0 5px;
}

/* ===== pagina legale (privacy policy) ===== */
.dom-legal {
  max-width: 860px;
  margin: 0 auto;
  padding: 80px 0 90px;
}
.dom-legal h2 {
  font-size: 24px;
  line-height: 1.3;
  margin: 38px 0 12px;
  color: #0a1119;
  font-weight: 500;
}
.dom-legal h2:first-of-type {
  margin-top: 0;
}
.dom-legal p {
  margin: 0 0 14px;
}
.dom-legal .dom-legal-updated {
  color: #7a828c;
  font-size: 14px;
  margin-bottom: 30px;
}
.dom-legal a {
  color: #336bad;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .dom-legal {
    padding: 50px 15px 60px;
  }
}

/* contatti mobile: fascia dopo hero allineata al titolo hero
   (la sezione 4cb52f3 ha padding 0 15px -> +15 vs hero che ha 0; lo azzero su mobile) */
@media (max-width: 1024px) {
  .elementor-element-4cb52f3 { padding-left: 0 !important; padding-right: 0 !important; }
}

/* contatti desktop (>1200px, colonne affiancate): sezione "Come possiamo aiutarti?"
   allinea contenuto ai bordi del titolo hero (15px). Il tema insetta il contenuto
   di 30px (<=1500px) o 100px (>1500px) sui bordi esterni; qui portato a 15px.
   Colonna testo ea2c95c = bordo sinistro, colonna immagine 37ed9cc = bordo destro. */
@media (min-width: 1201px) {
  .elementor-173 .elementor-element.elementor-element-ea2c95c > .elementor-element-populated { padding-left: 15px; }
  .elementor-173 .elementor-element.elementor-element-37ed9cc > .elementor-element-populated { padding-right: 15px; }
}
/* contatti: sezione "Come possiamo aiutarti?" senza sfondo grigio (come FAQ home
   7d2df36): contenuto boxed nel container, nessuna banda colorata. Le due colonne
   avevano background #e7e7e7 — selettore allineato al sorgente (:not + widget-wrap)
   per pareggiare specificità e vincere per ordine di caricamento. */
.elementor-173 .elementor-element.elementor-element-ea2c95c:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap,
.elementor-173 .elementor-element.elementor-element-37ed9cc:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap {
  background-color: transparent;
}

