/* ── Detail page carousel arrows + drag feel ── */
  article:not(.sn-card) .carousel-wrap {
    cursor: grab !important;
    touch-action: pan-y !important;
  }

  article:not(.sn-card) .carousel-wrap.is-dragging,
  article:not(.sn-card) .carousel-wrap:active {
    cursor: grabbing !important;
  }

  article:not(.sn-card) .carousel-btn {
    width: 48px !important;
    height: 76px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 58px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: .92 !important;
    padding: 0 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
    transition: opacity .18s ease, transform .18s ease !important;
  }

  article:not(.sn-card) .carousel-btn:hover {
    background: transparent !important;
    color: #ffffff !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transform: translateY(-50%) scale(1.08) !important;
  }

  article:not(.sn-card) .carousel-prev {
    left: 14px !important;
  }

  article:not(.sn-card) .carousel-next {
    right: 14px !important;
  }

  @media (max-width: 640px) {
    article:not(.sn-card) .carousel-btn {
      width: 42px !important;
      height: 66px !important;
      font-size: 50px !important;
    }

    article:not(.sn-card) .carousel-prev {
      left: 8px !important;
    }

    article:not(.sn-card) .carousel-next {
      right: 8px !important;
    }
  }

/* ── Detail condominium maps: natural vertical image ratio, no distortion ── */
  .sn-detail-map-carousel-natural .carousel-wrap {
    aspect-ratio: auto !important;
    height: auto !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  .sn-detail-map-carousel-natural .carousel-track {
    height: auto !important;
    align-items: flex-start !important;
  }

  .sn-detail-map-carousel-natural .carousel-slide {
    height: auto !important;
    background: transparent !important;
    filter: none !important;
    overflow: visible !important;
  }

  .sn-detail-map-carousel-natural .carousel-slide img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

/* ── FINAL consolidated: single imóvel description + área de lazer text spacing ── */
  .sn-detail-description-text,
  .sn-detail-area-lazer-text {
    white-space: normal !important;
    line-height: 1.48 !important;
    margin: 0 0 .55rem 0 !important;
    padding: 0 !important;
  }

  .sn-detail-description-text p,
  .sn-detail-description-text .sn-detail-description-paragraph,
  .sn-detail-area-lazer-text p,
  .sn-detail-area-lazer-text .sn-detail-area-lazer-paragraph {
    margin-top: 0 !important;
    margin-bottom: .45rem !important;
    padding: 0 !important;
    line-height: 1.48 !important;
  }

  .sn-detail-description-text p:last-child,
  .sn-detail-description-text .sn-detail-description-paragraph:last-child,
  .sn-detail-area-lazer-text p:last-child,
  .sn-detail-area-lazer-text .sn-detail-area-lazer-paragraph:last-child {
    margin-bottom: 0 !important;
  }

  .sn-detail-description-text + .sn-detail-description-text {
    margin-top: .55rem !important;
  }

  .sn-detail-description-text br,
  .sn-detail-area-lazer-text br {
    line-height: 1.48 !important;
  }

/* FINAL: respiro entre carrossel/mapas e texto da área de lazer */
  .sn-detail-map-carousel-natural + .sn-detail-area-lazer-text,
  .sn-detail-area-lazer-text {
    margin-top: 1.25rem !important;
  }

/* ── FINAL FORCE server-side single attrs columns ── */
.sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
  display: none !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col,
.sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-one-col {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col > div,
.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col .sn-detail-attr-slot {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-two-col,
.sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-two-col {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 12px !important;
}

@media (max-width: 640px) {
  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-two-col {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-one-col {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sn-detail-attrs-fixed-10 .sn-detail-attr-slot {
    min-height: 66px !important;
  }
}


/* ── FINAL ABSOLUTE mobile two-col detail attributes fix ── */
@media (max-width: 640px) {
  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-two-col {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col > div,
  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col .sn-detail-attr-slot,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-two-col > div,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-two-col .sn-detail-attr-slot {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-one-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col > div,
  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col .sn-detail-attr-slot,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-one-col > div,
  .sn-detail-attrs-fixed-10.sn-detail-attributes.sn-detail-attrs-one-col .sn-detail-attr-slot {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
    display: none !important;
  }
}

/* CWV no-tailwind fix: stable single page two-column layout */
@media (min-width: 768px) {
  .sn-detail-layout {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 1.5rem !important;
  }

  .sn-detail-layout > .sn-detail-aside {
    width: 30% !important;
    flex: 0 0 30% !important;
    max-width: 30% !important;
  }

  .sn-detail-layout > .flex-1 {
    flex: 1 1 0% !important;
    min-width: 0 !important;
  }
}

/* ── FINAL single imóvel description text dark army ── */
.sn-detail-description,
.sn-detail-description *,
.sn-detail-content,
.sn-detail-content p,
.sn-detail-content li,
.sn-detail-section p,
.sn-detail-section li,
.sn-property-description,
.sn-property-description *,
.imovel-descricao,
.imovel-descricao * {
  color: #0d1117 !important;
}
/* ── FIM FINAL single imóvel description text dark army ── */

/* ── FINAL exact single imóvel description dark army ── */
.sn-detail-description-text,
.sn-detail-description-text *,
.sn-detail-description-text p,
.sn-detail-description-text br,
.sn-detail-description-paragraph,
.sn-detail-description-paragraph * {
  color: #0d1117 !important;
}
/* ── FIM FINAL exact single imóvel description dark army ── */

/* ── FINAL exact single imóvel área de lazer dark army ── */
.sn-detail-area-lazer-text,
.sn-detail-area-lazer-text *,
.sn-detail-area-lazer-text p,
.sn-detail-area-lazer-text br,
.sn-detail-area-lazer-paragraph,
.sn-detail-area-lazer-paragraph * {
  color: #0d1117 !important;
}
/* ── FIM FINAL exact single imóvel área de lazer dark army ── */
