/* ==========================================================================
   PALAZZO MARCHI - ADVANCED RESPONSIVE MOBILE ENGINE (v3.0 PERFECT MATCH)
   Compatibile al 100% con HTML iniettato da build_complete_deploy.py
   ========================================================================== */

/* --------------------------------------------------------------------------
   DESKTOP ISOLATION (>= 900px): Gli elementi mobile restano nascosti
   -------------------------------------------------------------------------- */
.pm-mobile-bar,
.pm-mobile-drawer,
.pm-mobile-backdrop {
  display: none !important;
}

/* Hero Scalone immobile (Global: Desktop & Mobile) */
#comp-kzsg5uk7,
#comp-kzsg5uk7 [data-hook="bgLayers"],
#comp-kzsg5uk7 [data-motion-part*="BG_MEDIA"],
#comp-kzsg5uk7 .ROWgFb,
#comp-kzsg5uk7 .NgeJ4N,
#comp-kzsg5uk7 wow-image,
#comp-kzsg5uk7 img {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}

/* Sfondo hero scalone: min-height 85vh e larghezza 100% */
#comp-kzsg5uk7 {
  min-height: 85vh !important;
  width: 100% !important;
  position: relative !important;
}

#comp-kzsg5uk7 [data-mesh-id="comp-kzsg5uk7inlineContent-gridContainer"] {
  min-height: 85vh !important;
}

/* Velatura semitrasparente scura sullo scalone per contrasto ottimale */
#comp-kzsg5uk7::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(180deg, rgba(16, 14, 12, 0.45) 0%, rgba(16, 14, 12, 0.65) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Assicura che i contenuti testuali della hero stiano sopra la velatura */
#comp-kzsg5uk7 [data-mesh-id="comp-kzsg5uk7inlineContent"] {
  position: relative !important;
  z-index: 2 !important;
}

/* Text shadow per testi hero e contrasto elevato */
#comp-l0l4ndrf, #comp-l0l4ndrf h1, #comp-l0l4ndrf span,
#comp-l0l4o0or, #comp-l0l4o0or h1, #comp-l0l4o0or span {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.85), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
}

/* Pulsante Castello di Montechiarugolo: visibilità e contrasto */
#comp-l0l4oqcd a,
#comp-l0l4oqcd button,
#comp-l0l4oqcd .StylableButton2545352419__root {
  background: rgba(16, 14, 12, 0.75) !important;
  border: 1px solid #c5a059 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6) !important;
  transition: all 0.3s ease !important;
}

#comp-l0l4oqcd a:hover,
#comp-l0l4oqcd button:hover,
#comp-l0l4oqcd .StylableButton2545352419__root:hover {
  background: #c5a059 !important;
  color: #141210 !important;
}

/* Titolo "PALAZZO MARCHI" su riga singola su desktop e mobile */
#comp-l0l4ndrf {
  white-space: nowrap !important;
}
#comp-l0l4ndrf h1,
#comp-l0l4ndrf .font_0,
#comp-l0l4ndrf span {
  white-space: nowrap !important;
}


/* --------------------------------------------------------------------------
   MOBILE & TABLET RULES (< 900px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 899px) {

  /* 1. RESET GLOBALE VIEWPORT, OVERFLOW E SFONDI IN MOVIMENTO */
  html, body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    position: relative !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Blocco totale zoom, scale ed effetti parallasse non richiesti sui layer di sfondo */
  .NgeJ4N,
  .i5THm9,
  [data-motion-part*="BG_MEDIA"],
  [class*="NgeJ4N"],
  [class*="i5THm9"] {
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  /* 2. ADATTAMENTO CONTENITORI RADICE WIX */
  #SITE_CONTAINER,
  #masterPage,
  #masterPage.mesh-layout,
  #masterPage.mesh-layout.desktop,
  #masterPage.mesh-layout.desktop > *,
  #SITE_PAGES,
  #PAGES_CONTAINER,
  #PAGES_CONTAINERcenteredContent,
  #PAGES_CONTAINERinlineContent,
  #soapAfterPagesContainer,
  #soapBeforePagesContainer,
  #SITE_FOOTER,
  .site-root,
  .mesh-layout,
  [data-mesh-id$="-gridContainer"],
  [data-mesh-id$="inlineContent"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* 3. OCCULTAMENTO HEADER DESKTOP & ATTIVAZIONE BARRA MOBILE */
  #SITE_HEADER {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999990 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: 64px !important;
    min-height: 64px !important;
    background: #141210 !important;
    border-bottom: 1px solid rgba(197, 160, 89, 0.4) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7) !important;
  }

  #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent"],
  #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"],
  #SITE_HEADER .comp-kzs6ljeq,
  #SITE_HEADER #comp-kzs6ljeq,
  #SITE_HEADER #comp-kzshhnov,
  #SITE_HEADER #comp-kzsglvu1,
  #SITE_HEADER #comp-kzs6lk4v,
  #SITE_HEADER #comp-kzs6lk4vnavContainer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Barra Mobile attiva in alto */
  .pm-mobile-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 64px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 999995 !important;
    background: #141210 !important;
  }

  /* Brand / Logo - Niente blu predefinito del browser, colori oro e bianco Palazzo Marchi */
  .pm-mobile-brand {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: #ffffff !important;
  }

  .pm-mobile-title {
    font-family: 'Raleway', 'Playfair Display', Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 300 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
  }

  .pm-mobile-subtitle {
    font-family: 'Lato', Helvetica, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #c5a059 !important;
    margin-top: 2px !important;
    text-decoration: none !important;
  }

  .pm-mobile-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  /* Pulsante Hamburger (3 barrette dorate) */
  .pm-hamburger-btn {
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 44px !important;
    height: 44px !important;
    background: #1a1715 !important;
    border: 1px solid rgba(197, 160, 89, 0.45) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
  }

  .pm-hamburger-btn:hover,
  .pm-hamburger-btn:focus,
  .pm-hamburger-btn.pm-active {
    background: rgba(197, 160, 89, 0.18) !important;
    border-color: #c5a059 !important;
    outline: none !important;
  }

  .pm-hamburger-btn span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: #ffffff !important;
    margin: 2.5px 0 !important;
    transition: transform 0.25s, opacity 0.25s, background-color 0.25s !important;
    border-radius: 1px !important;
  }

  .pm-hamburger-btn.pm-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
    background: #c5a059 !important;
  }
  .pm-hamburger-btn.pm-active span:nth-child(2) {
    opacity: 0 !important;
  }
  .pm-hamburger-btn.pm-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
    background: #c5a059 !important;
  }

  /* 4. BACKDROP & MENU DRAWER LATERALE */
  .pm-mobile-backdrop {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.82) !important;
    backdrop-filter: blur(5px) !important;
    z-index: 999998 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  .pm-mobile-backdrop.pm-open {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .pm-mobile-drawer {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: 86vw !important;
    max-width: 380px !important;
    height: 100vh !important;
    background: #100e0c !important;
    border-left: 1px solid rgba(197, 160, 89, 0.4) !important;
    box-shadow: -8px 0 35px rgba(0, 0, 0, 0.9) !important;
    z-index: 999999 !important;
    transform: translateX(100%) !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .pm-mobile-drawer.pm-open {
    transform: translateX(0) !important;
  }

  .pm-drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px 24px !important;
    border-bottom: 1px solid rgba(197, 160, 89, 0.25) !important;
  }

  .pm-drawer-close {
    width: 38px !important;
    height: 38px !important;
    background: transparent !important;
    border: 1px solid rgba(197, 160, 89, 0.4) !important;
    border-radius: 4px !important;
    color: #c5a059 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
  }

  .pm-drawer-nav {
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    flex: 1 !important;
  }

  .pm-drawer-item {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pm-drawer-link {
    display: block !important;
    padding: 12px 26px !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    color: #f4efe7 !important;
    text-decoration: none !important;
    border-left: 3px solid transparent !important;
    transition: all 0.2s ease !important;
  }

  .pm-drawer-link:hover,
  .pm-drawer-link:focus,
  .pm-drawer-link.pm-active {
    background: rgba(197, 160, 89, 0.12) !important;
    color: #ffffff !important;
    border-left-color: #c5a059 !important;
  }

  .pm-drawer-cta {
    margin: 16px 24px 8px !important;
    padding: 14px 20px !important;
    background: #c5a059 !important;
    color: #141210 !important;
    font-family: 'Raleway', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 3px !important;
    transition: background 0.2s !important;
  }

  .pm-drawer-cta:hover {
    background: #d8b56d !important;
  }

  /* Accordion Mostre */
  .pm-accordion-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-left: 3px solid transparent !important;
    text-align: left !important;
    cursor: pointer !important;
    font: inherit !important;
    box-sizing: border-box !important;
  }

  .pm-accordion-arrow {
    display: inline-block !important;
    transition: transform 0.25s ease !important;
    font-size: 11px !important;
    color: #c5a059 !important;
  }

  .pm-accordion-toggle.pm-expanded .pm-accordion-arrow {
    transform: rotate(180deg) !important;
  }

  .pm-accordion-content {
    display: none !important;
    list-style: none !important;
    padding: 4px 0 8px 36px !important;
    margin: 0 !important;
    background: rgba(0, 0, 0, 0.25) !important;
  }

  .pm-accordion-content.pm-expanded {
    display: block !important;
  }

  .pm-accordion-link {
    display: block !important;
    padding: 9px 16px !important;
    color: #cfc6b8 !important;
    font-size: 14px !important;
    text-decoration: none !important;
  }

  .pm-accordion-link:hover {
    color: #c5a059 !important;
  }

  .pm-drawer-lang {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 18px 24px !important;
    border-top: 1px solid rgba(197, 160, 89, 0.25) !important;
  }

  .pm-drawer-lang a {
    color: #b9ad9b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    letter-spacing: 0.1em !important;
    padding: 4px 8px !important;
    border-radius: 2px !important;
  }

  .pm-drawer-lang a.pm-active,
  .pm-drawer-lang a:hover {
    color: #ffffff !important;
    background: rgba(197, 160, 89, 0.25) !important;
  }

  /* 5. SMONTAMENTO COORDINATE FISSE WIX MESH-GRID E CONVERSIONE IN COLONNA FLUIDA */
  [data-mesh-id$="-gridContainer"]:not([data-mesh-id="comp-kzsg5uk7inlineContent-gridContainer"]),
  [data-mesh-id$="inlineContent"]:not([data-mesh-id="comp-kzsg5uk7inlineContent"]) {
    min-height: 0 !important;
    height: auto !important;
  }

  [data-mesh-id$="-gridContainer"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  /* Esclusione padding laterale per i contenitori a tutta larghezza (hero scalone) */
  [data-mesh-id="comp-m37d3ztminlineContent-gridContainer"],
  [data-mesh-id="Containerc1dmpinlineContent-gridContainer"],
  [data-mesh-id="comp-kzsg5uk7inlineContent-gridContainer"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding: 0 !important;
  }

  [data-mesh-id="comp-m37d3ztminlineContent-gridContainer"] > *,
  [data-mesh-id="Containerc1dmpinlineContent-gridContainer"] > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
  }

  [data-mesh-id] > *,
  [data-mesh-id] > interact-element,
  [data-mesh-id] > interact-element > *,
  [data-mesh-id$="-gridContainer"] > *,
  [data-mesh-id$="-gridContainer"] > interact-element,
  [data-mesh-id$="-gridContainer"] > interact-element > *,
  [data-mesh-id$="-gridContainer"] > div,
  [data-mesh-id$="-gridContainer"] > section {
    grid-area: auto !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
    align-self: stretch !important;
  }

  /* 6. AZZERAMENTO DEI VINCOLI 980px SU SEZIONI, STRISCE E COMPONENTI */
  section,
  .wixui-section,
  .wixui-column-strip,
  .wixui-column-strip__column,
  .Ak0vpt,
  .FDI5TK,
  .H2MmBb,
  .Zzikec,
  .pTvOx2,
  ._c_gnD,
  .CeUMmm,
  #comp-kzsg5uj3,
  #comp-kzsg5uk7,
  #comp-m37d3ztm,
  #comp-kzs6ljeq,
  #SOSP_CONTAINER_CUSTOM_ID,
  [id^="comp-"] {
    min-width: 0 !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  .Ak0vpt,
  .CeUMmm {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .Ak0vpt > *,
  .wixui-column-strip__column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
  }

  /* 7. RIDIMENSIONAMENTO RESPONSIVE DI IMMAGINI E VIDEO */
  img,
  wow-image,
  wow-image img,
  [data-testid="imageElement"],
  .wixui-image img,
  video,
  iframe {
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
  }

  /* 8. TIPOGRAFIA FLUIDA & RESET DEI TAG SPAN INLINE */
  .wixui-rich-text,
  [class*="wixui-rich-text"],
  [data-testid="richTextElement"] {
    width: 100% !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
  }

  .wixui-rich-text *,
  .wixui-rich-text span,
  .wixui-rich-text span[style],
  [data-testid="richTextElement"] *,
  [data-testid="richTextElement"] span,
  [data-testid="richTextElement"] span[style] {
    max-width: 100% !important;
    word-break: break-word !important;
    box-sizing: border-box !important;
  }

  h1, .font_0, .font_1 {
    font-size: clamp(24px, 7vw, 36px) !important;
    line-height: 1.25 !important;
  }
  h1 *, .font_0 *, .font_1 * {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  h2, .font_2, .font_3 {
    font-size: clamp(20px, 5.5vw, 28px) !important;
    line-height: 1.3 !important;
  }
  h2 *, .font_2 *, .font_3 * {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  h3, .font_4 {
    font-size: clamp(17px, 4.5vw, 22px) !important;
    line-height: 1.3 !important;
  }
  h3 *, .font_4 * {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  p, .font_7, .font_8, .font_9 {
    font-size: clamp(14px, 3.8vw, 16px) !important;
    line-height: 1.6 !important;
  }
  p *, .font_7 *, .font_8 *, .font_9 * {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  /* 9. HERO SECTION DELLA HOME (index.html) — CENTRATURA TOTALE */
  #comp-m37d3ztm, #comp-kzsg5uj3, #comp-kzsg5uk7 {
    min-height: 85vh !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    left: 0 !important;
    animation: none !important;
    transform: none !important;
  }

  #comp-kzsg5uk7 [data-mesh-id="comp-kzsg5uk7inlineContent-gridContainer"] {
    min-height: 85vh !important;
    justify-content: center !important;
  }

  #comp-kzsg5uk7 [data-hook="bgLayers"],
  #comp-kzsg5uk7 .ROWgFb,
  #comp-kzsg5uk7 .NgeJ4N,
  #comp-kzsg5uk7 wow-image,
  #comp-kzsg5uk7 img {
    height: 100% !important;
    min-height: 85vh !important;
    width: 100% !important;
    object-fit: cover !important;
    animation: none !important;
    transform: none !important;
  }

  #comp-l0l4ndrf,
  #comp-l0l4o0or,
  #comp-l0l4oqcd {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: 0 !important;
    right: 0 !important;
  }

  #comp-l0l4ndrf {
    white-space: nowrap !important;
  }

  #comp-l0l4ndrf h1,
  #comp-l0l4ndrf .font_0 {
    font-size: clamp(19px, 6.2vw, 30px) !important;
    letter-spacing: 0.12em !important;
    text-align: center !important;
    line-height: 1.2 !important;
    margin: 0 auto !important;
    white-space: nowrap !important;
  }

  #comp-l0l4ndrf * {
    font-size: inherit !important;
    letter-spacing: inherit !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  #comp-l0l4o0or h1,
  #comp-l0l4o0or h2,
  #comp-l0l4o0or .font_0,
  #comp-l0l4o0or p {
    font-size: clamp(13px, 3.8vw, 17px) !important;
    letter-spacing: 0.18em !important;
    text-align: center !important;
    line-height: 1.4 !important;
    margin: 6px auto 14px !important;
  }

  #comp-l0l4o0or * {
    font-size: inherit !important;
    letter-spacing: inherit !important;
    text-align: center !important;
  }

  #comp-l0l4oqcd a,
  #comp-l0l4oqcd button,
  #comp-l0l4oqcd .StylableButton2545352419__root {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    max-width: 90% !important;
    font-size: 12px !important;
    padding: 12px 18px !important;
    margin: 10px auto !important;
    text-align: center !important;
    letter-spacing: 0.1em !important;
  }

  #comp-l0l4oqcd * {
    font-size: inherit !important;
    letter-spacing: inherit !important;
    text-align: center !important;
  }

  /* 9b. WIX PRO GALLERY & HORIZONTAL SCROLL RESPONSIVE RESET */
  [id^="pro-gallery"],
  .pro-gallery,
  .pro-gallery-parent-container,
  .gallery-horizontal-scroll,
  .gallery-horizontal-scroll-inner,
  [class*="pro-gallery"],
  [id*="pro-gallery-margin-container"],
  [id*="pro-gallery-container"],
  [id*="gallery-horizontal-scroll"],
  [id^="item-wrapper-"],
  [id^="pgi"],
  .gallery-item-container,
  .gallery-item-wrapper {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* 10. MODULO CONTATTI MOBILE */
  form,
  .wixui-form,
  [data-testid="form"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  form input[type="text"],
  form input[type="email"],
  form input[type="tel"],
  form textarea,
  form select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    padding: 10px 12px !important;
  }

  form button,
  form [data-testid="buttonElement"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
  }

  /* 11. FOOTER MOBILE */
  #SITE_FOOTER {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding: 30px 16px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  #SITE_FOOTER [data-mesh-id$="-gridContainer"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #SITE_FOOTER [data-mesh-id$="-gridContainer"] > * {
    left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    width: 100% !important;
  }

  /* 12. CONTENT IMAGES PROPORTIONS & GAP ELIMINATION (<40px) */
  .wixui-image, [data-testid="imageElement"], .wixui-image wow-image, [data-testid="imageElement"] wow-image {
    height: auto !important;
  }
  .wixui-image img, [data-testid="imageElement"] img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    max-height: 78vh !important;
    display: block !important;
  }
  [data-mesh-id$="inlineContent"] > [data-mesh-id$="-gridContainer"] { margin: 0 !important; }
  .wixui-column-strip__column, .FDI5TK, .Ak0vpt, .CeUMmm,
  .FDI5TK > [data-mesh-id$="inlineContent"] { height: auto !important; min-height: 0 !important; }
  .FDI5TK:not(#comp-kzsg5uk7):not(:has([data-mesh-id$="-gridContainer"] > *)) { aspect-ratio: 4 / 3; height: auto !important; }
  section, .wixui-section, [data-mesh-id$="inlineContent-gridContainer"] { min-height: 0 !important; }

  /* 13. PRO GALLERY OVERFLOW PREVENTION */
  [data-hook*="gallery"], .pro-gallery, [class*="pro-gallery"], [data-testid*="gallery"] {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  [class*="pro-gallery"] img { max-width: 100% !important; height: auto !important; }
}

/* 14. GLOBAL UNHYDRATED WIX ELEMENTS & MOTION RESET */
[data-motion-enter], [data-motion-part], .ihMbXz, [data-hidden="true"]:not(.pm-mobile-drawer) {
  opacity: 1 !important;
  visibility: visible !important;
}
.NgeJ4N, .i5THm9, [data-motion-part*="BG_MEDIA"], [data-motion-part*="BG_MEDIA"] *, wow-image.bgImage, wow-image.bgImage img {
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

