:root {
  --md-accent: #f5c43f;
  --md-ink: #141414;
  --md-brown-rgb: 75, 61, 50;
  --md-brown: #4b3d32;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

/* ------------------------------------------------------------ header nav */
@media (min-width: 1025px) {
  .md-logo { width: 10% !important; }
  .md-nav  { width: 78% !important; }
  .md-cta  { width: 12% !important; }

  .md-nav .rkit-menu-container { flex-wrap: nowrap !important; }

  /* eleven top-level items plus six dropdown chevrons: every pixel counts */
  .md-nav .rkit-menu-container > .rkit-menu-item > .rkit-nav-link {
    font-size: 13px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
  }

  .md-nav .rkit-submenu-icon {
    font-size: 7px !important;
    margin-left: 2px !important;
  }

  .md-cta .elementor-button {
    padding: 12px 16px !important;
    font-size: 12px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1400px) {
  .md-cta { display: none !important; }
  .md-logo { width: 12% !important; }
  .md-nav  { width: 88% !important; }
}

@media (min-width: 1700px) {
  .md-nav .rkit-menu-container > .rkit-menu-item > .rkit-nav-link {
    font-size: 13px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  .md-nav .rkit-submenu-icon {
    font-size: 9px !important;
    margin-left: 3px !important;
  }

  .md-cta .elementor-button {
    padding: 14px 22px !important;
    font-size: 13px !important;
  }
}

.md-nav .rkit-navmenu-dropdown .rkit-nav-link { white-space: nowrap; }

/* ------------------------------------------------------------ sticky header */
.md-header { transition: background-color .35s ease, box-shadow .35s ease, padding .35s ease; }

.md-header.md-header--stuck {
  z-index: 999 !important;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  /* Elementor sets an explicit width on the container, which beats left/right
     once the header is taken out of flow and blew it past the viewport */
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  background-color: rgba(var(--md-brown-rgb), .95) !important;
  backdrop-filter: blur(6px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
  padding-top: .45em !important;
  padding-bottom: .45em !important;
  animation: mdSlideDown .35s ease both;
}

@keyframes mdSlideDown {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}

/* ------------------------------------------------------------ hero scroll cue */
.md-hero { position: relative; }

.md-hero .md-scrolldown {
  position: absolute;
  bottom: 30px;
  left: 50%;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: auto;
  min-width: 0;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 10px !important;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transform: translateX(-50%);
  transition: opacity .3s linear, transform .3s ease;
}

.md-hero .md-scrolldown:hover { transform: translateX(-50%) translateY(4px); opacity: .75; }
.md-hero .md-scrolldown.is-gone { opacity: 0; pointer-events: none; }
.md-hero .md-scrolldown span { opacity: .8; }

.md-hero .md-scrolldown svg {
  width: 22px;
  height: 22px;
  animation: mdBob 1.9s ease-in-out infinite;
}

@keyframes mdBob {
  0%, 100% { transform: translateY(0); opacity: .75; }
  50%      { transform: translateY(7px); opacity: 1; }
}

/* ------------------------------------------------------------ scroll reveal */
.md-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s cubic-bezier(.22, .61, .36, 1), transform .7s cubic-bezier(.22, .61, .36, 1);
}

.md-reveal.is-in { opacity: 1; transform: none; }

/* ------------------------------------------------------------ product cards */
.uk-scope .uk-panel { transition: transform .4s cubic-bezier(.22, .61, .36, 1), box-shadow .4s ease; }

.uk-scope .uk-panel:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .14);
}

.uk-scope .uk-panel h6 { transition: color .25s ease; }
.uk-scope .uk-panel:hover h6 { color: var(--md-accent); }

/* ------------------------------------------------------------ motion opt-out */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  .md-reveal { opacity: 1; transform: none; transition: none; }
  .md-hero .md-scrolldown svg { animation: none; }
  .md-header.md-header--stuck { animation: none; }
  .uk-scope .uk-panel:hover { transform: none; }
}

/* ------------------------------------------------------------ chi siamo */
.md-parallax {
  background-attachment: fixed !important;
  overflow: hidden;
}

/* fixed backgrounds are unreliable on touch: fall back to a normal cover */
@media (hover: none), (pointer: coarse), (max-width: 1024px) {
  .md-parallax { background-attachment: scroll !important; }
}

.md-parallax .elementor-heading-title { text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }

.md-stats { position: sticky; top: 0; z-index: 1; }

@media (max-width: 1024px) {
  .md-stats { position: static; }
}

.md-stats .elementor-widget-heading { transition: transform .5s cubic-bezier(.22, .61, .36, 1); }
.md-stats > .e-con:hover .elementor-widget-heading { transform: translateY(-4px); }

@media (prefers-reduced-motion: reduce) {
  .md-stats .elementor-widget-heading,
  .md-stats > .e-con:hover .elementor-widget-heading { transition: none; transform: none; }
}

/* ------------------------------------------------------------ header legibility */
/* heroes are bright photographs; the nav needs its own ground to sit on */
.md-header::before {
  content: "";
  position: absolute;
  inset: -1px 0 auto 0;
  height: 190px;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(to bottom, rgba(var(--md-brown-rgb), .72) 0%, rgba(var(--md-brown-rgb), .38) 45%, rgba(var(--md-brown-rgb), 0) 100%);
}

.md-header.md-header--stuck::before { display: none; }

.md-nav .rkit-nav-link { text-shadow: 0 1px 3px rgba(0, 0, 0, .3); }
.md-header--stuck .md-nav .rkit-nav-link { text-shadow: none; }

/* the active item was a solid yellow block, heavier than the CTA beside it */
.md-nav .rkit-menu-item.rkit-menu-active,
.md-nav .rkit-menu-item:hover {
  background-color: transparent !important;
}

.md-nav .rkit-menu-container > .rkit-menu-item > .rkit-nav-link {
  position: relative;
  transition: color .2s ease;
}

.md-nav .rkit-menu-container > .rkit-menu-item > .rkit-nav-link::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 1px;
  height: 2px;
  background: var(--md-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s cubic-bezier(.22, .61, .36, 1);
}

.md-nav .rkit-menu-container > .rkit-menu-item.rkit-menu-active > .rkit-nav-link,
.md-nav .rkit-menu-container > .rkit-menu-item:hover > .rkit-nav-link {
  color: var(--md-accent) !important;
}

.md-nav .rkit-menu-container > .rkit-menu-item.rkit-menu-active > .rkit-nav-link::after,
.md-nav .rkit-menu-container > .rkit-menu-item:hover > .rkit-nav-link::after {
  transform: scaleX(1);
}

/* dropdown panels keep their own hover treatment */
.md-nav .rkit-navmenu-dropdown .rkit-nav-link::after { display: none; }

@media (prefers-reduced-motion: reduce) {
  .md-nav .rkit-menu-container > .rkit-menu-item > .rkit-nav-link::after { transition: none; }
}

.md-cta .elementor-button {
  white-space: nowrap;
  letter-spacing: .02em;
}

/* ------------------------------------------------------------ hero type */
.md-hero h1 { letter-spacing: -.02em; }

.md-hero .elementor-widget-heading .elementor-heading-title,
.md-hero .elementor-widget-text-editor { text-shadow: 0 2px 14px rgba(0, 0, 0, .28); }

/* ------------------------------------------------------------ parallax bands */
.md-parallax .elementor-heading-title { text-shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 8px 40px rgba(0, 0, 0, .35); }

/* ------------------------------------------------------------ footer */
/* the RNA transparency URL is one long unbreakable token and was pushing
   the whole page sideways on small screens */
.elementor-location-footer a,
.elementor-location-footer p {
  overflow-wrap: anywhere;
}

.elementor-element-4af8e7f4,
.elementor-element-3b8f2e03,
.elementor-element-1f31cd19 { text-align: center !important; }

.elementor-element-1f31cd19 .rkit-social-media__list { justify-content: center !important; }


/* ------------------------------------------------------------ md-logo centrato */
/* era incollato al bordo sinistro: ora sta al centro della sua colonna */
.md-logo {
  justify-content: center;
  align-items: center;
}

.md-logo .elementor-widget-image,
.md-logo .elementor-widget-image .elementor-widget-container {
  width: 100%;
  text-align: center;
}

.md-logo .elementor-widget-image img { margin-inline: auto; }

/* ------------------------------------------------------------ pulsanti */
/* marrone del logo di base, giallo al passaggio del cursore */
.elementor-button {
  background-color: var(--md-brown) !important;
  border-color: var(--md-brown) !important;
  color: #fff !important;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.elementor-button:hover,
.elementor-button:focus-visible {
  background-color: var(--md-accent) !important;
  border-color: var(--md-accent) !important;
  color: var(--md-brown) !important;
}

/* il cue "scorri" della hero non e' un pulsante: resta trasparente */
.md-hero .md-scrolldown,
.md-hero .md-scrolldown:hover {
  background-color: transparent !important;
  border-color: transparent !important;
  color: #fff !important;
}

/* ------------------------------------------------------------ loghi partner */
/* fondo chiaro: su marrone Piacentini e MV Line risultano illeggibili */
.md-partner {
  background: var(--md-brown);
  padding: 56px 24px;
}

.md-partner-wrap {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.md-partner-eyebrow {
  margin: 0 0 34px;
  color: rgba(255, 255, 255, .6);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.md-partner-loghi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px 56px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.md-partner-loghi li { margin: 0; }

.md-partner-loghi img {
  display: block;
  width: auto;
  height: 44px;
  max-width: 180px;
  object-fit: contain;
}

@media (max-width: 767px) {
  .md-partner { padding: 40px 20px; }
  .md-partner-loghi { gap: 22px 34px; }
  .md-partner-loghi img { height: 32px; max-width: 130px; }
}

/* ------------------------------------------------------------ md-cta-giallo */
/* il pulsante in testata parte gia' giallo; al passaggio diventa bianco, cosi' resta
   visibile anche sulla barra sticky marrone */
.md-cta .elementor-button,
.elementor-element-2ce0d68c .elementor-button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button {
  background-color: var(--md-accent) !important;
  border-color: var(--md-accent) !important;
  color: var(--md-brown) !important;
}

.md-cta .elementor-button:hover,
.md-cta .elementor-button:focus-visible,
.elementor-element-2ce0d68c .elementor-button:hover,
.elementor-element-2ce0d68c .elementor-button:focus-visible,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="submit"]:focus-visible,
.gform_wrapper .gform_footer button:hover,
.gform_wrapper .gform_footer button:focus-visible {
  background-color: #fff !important;
  border-color: #fff !important;
  color: var(--md-brown) !important;
}

/* ------------------------------------------------------------ partner: logo accanto al titolo */
#mv-line .elementor-icon-box-title,
#piacentini .elementor-icon-box-title,
#europrofili .elementor-icon-box-title,
#oknoplast .elementor-icon-box-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 22px;
}

#mv-line .elementor-icon-box-title::before,
#piacentini .elementor-icon-box-title::before,
#europrofili .elementor-icon-box-title::before,
#oknoplast .elementor-icon-box-title::before {
  content: "";
  display: block;
  height: 34px;
  background: center left / contain no-repeat;
}

#mv-line .elementor-icon-box-title::before {
  aspect-ratio: 1007 / 160;
  background-image: url("https://www.infissimodesti.it/wp-content/uploads/2026/09/partner-mvline-bianco.png");
}

#piacentini .elementor-icon-box-title::before {
  aspect-ratio: 790 / 160;
  background-image: url("https://www.infissimodesti.it/wp-content/uploads/2026/09/partner-piacentini-bianco.png");
}

#europrofili .elementor-icon-box-title::before {
  aspect-ratio: 579 / 160;
  background-image: url("https://www.infissimodesti.it/wp-content/uploads/2026/09/partner-europrofili-bianco.png");
}

#oknoplast .elementor-icon-box-title::before {
  aspect-ratio: 774 / 160;
  background-image: url("https://www.infissimodesti.it/wp-content/uploads/2026/09/partner-oknoplast-bianco.png");
}

@media (max-width: 767px) {
  #mv-line .elementor-icon-box-title::before,
  #piacentini .elementor-icon-box-title::before,
  #europrofili .elementor-icon-box-title::before,
  #oknoplast .elementor-icon-box-title::before { height: 26px; }
}


/* ------------------------------------------------------------ md-menu-mobile */
/* the widget paints the panel yellow and the submenus white on white; on touch the first
   tap opens a submenu through :hover, so every state has to stay readable */
@media (max-width: 1024px) {
  .md-nav .rkit-navmenu.rkit-responsive-tablet {
    background-color: var(--md-brown) !important;
    box-shadow: 0 18px 30px rgba(0, 0, 0, .25);
  }

  .md-nav .rkit-menu-container > .rkit-menu-item > .rkit-nav-link {
    color: #fff !important;
    text-shadow: none;
  }

  .md-nav .rkit-menu-container > .rkit-menu-item > .rkit-nav-link::after { display: none; }

  .md-nav .rkit-menu-container > .rkit-menu-item.rkit-menu-active > .rkit-nav-link,
  .md-nav .rkit-menu-container > .rkit-menu-item:hover > .rkit-nav-link,
  .md-nav .rkit-menu-container > .rkit-menu-item:focus-within > .rkit-nav-link {
    color: var(--md-accent) !important;
  }

  .md-nav .rkit-dropdown-hover:focus-within > .rkit-navmenu-dropdown {
    max-height: var(--height);
    opacity: 1;
    visibility: visible;
  }

  .md-nav .rkit-navmenu-dropdown { background-color: rgba(0, 0, 0, .22) !important; }

  .md-nav .rkit-submenu-item,
  .md-nav .rkit-submenu-item:hover { background-color: transparent !important; }

  .md-nav .rkit-submenu-item > .rkit-nav-link {
    justify-content: center !important;
    color: rgba(255, 255, 255, .88) !important;
  }

  .md-nav .rkit-submenu-item:hover > .rkit-nav-link,
  .md-nav .rkit-submenu-item.rkit-submenu-active > .rkit-nav-link {
    color: var(--md-accent) !important;
  }
}

/* ------------------------------------------------------------ md-form-su-fondo-scuro */
/* every contact form sits on a dark photograph */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button {
  padding: 14px 34px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.gform_wrapper .gfield_required { color: var(--md-accent) !important; }
.gform_wrapper .ginput_counter { color: rgba(255, 255, 255, .65) !important; }

/* ------------------------------------------------------------ md-mobile-rifiniture */
/* porte: the 47 doors in one column made a 28,000px page on a phone */
@media (max-width: 1199px) {
  .elementor-element-a3b8a77 .uk-grid > * { width: 50% !important; }
}

@media (max-width: 1024px) {
  /* several heroes are pale photographs: the logo needs a solid ground */
  .md-header { background-color: var(--md-brown) !important; }
  .md-header::before { display: none; }

  .elementor-element-710713a .elementor-nav-menu--dropdown,
  .elementor-element-710713a .elementor-nav-menu--dropdown a { background-color: transparent !important; }

  .elementor-element-710713a .elementor-nav-menu--dropdown a { color: #fff !important; }
  .elementor-element-710713a .elementor-nav-menu--dropdown a.elementor-item-active { color: var(--md-accent) !important; }
}

@media (max-width: 767px) {
  .elementor-element-710713a .elementor-nav-menu--dropdown a {
    line-height: 1.5 !important;
    padding: 6px 0 !important;
  }

  .elementor-element-a3b8a77 { padding-left: 0 !important; padding-right: 0 !important; }
  .elementor-element-a3b8a77 .uk-grid { margin-left: -14px !important; }
  .elementor-element-a3b8a77 .uk-grid > * { padding-left: 14px !important; }

  .elementor-element-9b6e681 { padding-left: 0 !important; padding-right: 0 !important; }
  .elementor-element-9b6e681 .e-n-tabs-content > .e-con { padding: 28px 22px !important; }
  .elementor-element-9b6e681 .e-n-tab-title-text { line-height: 1.25 !important; }
}