@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap");

/* Isolate plugin UI from Elementor / theme (pink borders, button resets, etc.) */
.rm-property,
.rm-property *,
.rm-property *::before,
.rm-property *::after,
.rm-property-grid,
.rm-property-grid *,
.rm-property-grid *::before,
.rm-property-grid *::after,
.rm-faqs,
.rm-faqs *,
.rm-faqs *::before,
.rm-faqs *::after {
  box-sizing: border-box !important;
}

.rm-property,
.rm-property-grid,
.rm-faqs {
  --rm-ink: #222222 !important;
  --rm-muted: #6a6a6a !important;
  --rm-line: #ebebeb !important;
  --rm-soft: #f7f7f7 !important;
  --rm-olive: #3d4f36 !important;
  --rm-airbnb: #FF385C !important;
  --rm-airbnb-soft: #FFF0F3 !important;
  --rm-vrbo: #3b5998 !important;
  --rm-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
  --rm-shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  --rm-wide: 1280px !important;
  --rm-body: "DM Sans", system-ui, -apple-system, sans-serif !important;
  color: var(--rm-ink) !important;
  font-family: var(--rm-body) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  -webkit-font-smoothing: antialiased;
  background: transparent !important;
}

.rm-property a,
.rm-property-grid a {
  color: inherit !important;
  text-decoration: none !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.rm-property a:hover,
.rm-property a:focus,
.rm-property a:focus-visible,
.rm-property-grid a:hover,
.rm-property-grid a:focus {
  color: inherit !important;
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

.rm-property button,
.rm-property [role="button"],
.rm-property-grid button {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.rm-property button:hover,
.rm-property button:focus,
.rm-property button:focus-visible,
.rm-property button:active,
.rm-property [role="button"]:hover,
.rm-property [role="button"]:focus,
.rm-property [role="button"]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
}

.rm-property img,
.rm-property-grid img {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  max-width: 100% !important;
  height: auto;
}

.rm-property ul,
.rm-property ol {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rm-property li::marker {
  content: "" !important;
  color: transparent !important;
}

/* Cards grid — fill Elementor/parent container width */
.rm-property-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.75rem !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Elementor column / container wrappers */
.elementor-widget-container .rm-property-grid,
.elementor-widget-shortcode .rm-property-grid,
.elementor-shortcode .rm-property-grid,
.elementor-widget-container .rm-faqs,
.elementor-widget-shortcode .rm-faqs,
.elementor-shortcode .rm-faqs {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.rm-property-grid--single {
  grid-template-columns: minmax(0, 380px) !important;
}

.rm-property-card {
  display: grid !important;
  gap: 0 !important;
  min-width: 0 !important;
  background: #ffffff !important;
  border: 1px solid #ebebeb !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.rm-property-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1) !important;
}

.rm-property-card__media {
  position: relative !important;
  display: block !important;
  aspect-ratio: 1 / 0.92 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #ddd !important;
  border: 0 !important;
  margin: 0 !important;
}

.rm-property-card__slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
  pointer-events: none !important;
  border: 0 !important;
}

.rm-property-card__slide.is-active {
  opacity: 1 !important;
  position: relative !important;
  pointer-events: none !important;
}

.rm-property-card__link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
}

.rm-property-grid .rm-property-card__nav,
.rm-property-card__nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 3 !important;
  box-sizing: border-box !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #222222 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 0 !important;
  text-decoration: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.rm-property-grid .rm-property-card__nav:hover,
.rm-property-grid .rm-property-card__nav:focus,
.rm-property-card__nav:hover,
.rm-property-card__nav:focus {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.34) !important;
  outline: none !important;
}

.rm-property-card__nav--prev {
  left: 10px !important;
}

.rm-property-card__nav--next {
  right: 10px !important;
}

.rm-property-grid .rm-property-card__nav svg,
.rm-property-card__nav svg {
  width: 16px !important;
  height: 16px !important;
  stroke: #222222 !important;
  fill: none !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rm-property-card__counter {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  z-index: 3 !important;
  background: rgba(0, 0, 0, 0.62) !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 0.28rem 0.55rem !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  border: 0 !important;
}

.rm-property-grid .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.rm-property-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: none !important;
}

.rm-property-card:hover .rm-property-card__media img {
  transform: none !important;
}

.rm-property-card__badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background: #fff !important;
  border-radius: 999px !important;
  padding: 0.3rem 0.75rem !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  z-index: 2 !important;
  border: 0 !important;
  color: #222 !important;
}

.rm-property-card__body {
  display: grid !important;
  gap: 0.45rem !important;
  padding: 0.95rem 1rem 1.1rem !important;
}

.rm-property-card__row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: start !important;
  gap: 0.75rem !important;
}

.rm-property-card__title {
  font-size: 1rem !important;
  font-weight: 650 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  color: var(--rm-ink) !important;
  letter-spacing: -0.01em !important;
}

.rm-property-card__rating {
  flex: 0 0 auto !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  color: #222 !important;
}

.rm-property-card__meta,
.rm-property-card__sub {
  margin: 0 !important;
  color: var(--rm-muted) !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
}

.rm-property-card__actions {
  display: grid !important;
  gap: 0.5rem !important;
  margin-top: 0.55rem !important;
  padding-top: 0.75rem !important;
  border-top: 1px solid #f0f0f0 !important;
}

/* Buttons used intentionally */
.rm-property .rm-btn,
.rm-property-grid .rm-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.85rem 1.15rem !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  width: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
}

.rm-property .rm-btn--outline {
  border: 1px solid var(--rm-ink) !important;
  color: var(--rm-ink) !important;
  background: #fff !important;
}

.rm-property .rm-btn--book,
.rm-property-grid .rm-btn--book {
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid #222222 !important;
  border-radius: 10px !important;
  gap: 0.55rem !important;
  width: 100% !important;
}

.rm-property .rm-btn--book:hover,
.rm-property .rm-btn--book:focus,
.rm-property-grid .rm-btn--book:hover,
.rm-property-grid .rm-btn--book:focus {
  background: #f7f7f7 !important;
  color: #111111 !important;
  border: 1px solid #222222 !important;
}

.rm-property .rm-btn__label,
.rm-property-grid .rm-btn__label {
  color: #111111 !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
}

.rm-property .rm-btn__logo,
.rm-property-grid .rm-btn__logo {
  display: block !important;
  height: 22px !important;
  width: auto !important;
  max-width: 90px !important;
  object-fit: contain !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rm-property .rm-btn__logo--vrbo,
.rm-property-grid .rm-btn__logo--vrbo {
  height: 20px !important;
}

.rm-property .rm-btn__logo--airbnb,
.rm-property-grid .rm-btn__logo--airbnb {
  height: 22px !important;
}

.rm-property-card__actions {
  display: grid !important;
  gap: 0.5rem !important;
  margin-top: 0.55rem !important;
  padding-top: 0.75rem !important;
  border-top: 1px solid #f0f0f0 !important;
}

.rm-property .rm-btn--ghost {
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  color: var(--rm-ink) !important;
  box-shadow: var(--rm-shadow-soft) !important;
  border-radius: 8px !important;
  padding: 0.65rem 0.9rem !important;
}

.rm-property .rm-btn--pill,
.rm-property .rm-property__more > summary.rm-btn--pill {
  display: inline-flex !important;
  border: 1px solid var(--rm-ink) !important;
  background: #fff !important;
  color: var(--rm-ink) !important;
  border-radius: 10px !important;
  padding: 0.85rem 1.35rem !important;
  list-style: none !important;
}

.rm-property .rm-property__more > summary::-webkit-details-marker {
  display: none !important;
}

.rm-booking-buttons {
  display: grid !important;
  gap: 0.65rem !important;
  margin-top: 0.35rem !important;
}

.rm-booking-buttons .rm-btn {
  width: 100% !important;
}

/* Detail page — full width with fixed paddings */
.rm-property {
  padding: 70px 100px 70px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.rm-property__top {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 0.85rem !important;
}

.rm-property__title {
  font-size: clamp(1.55rem, 2.8vw, 1.85rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.4rem !important;
  line-height: 1.25 !important;
  color: var(--rm-ink) !important;
  font-family: var(--rm-body) !important;
}

.rm-property__sub {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem 0.85rem !important;
  color: var(--rm-muted) !important;
  font-size: 0.95rem !important;
}

.rm-property__rating {
  color: var(--rm-ink) !important;
  font-weight: 600 !important;
}

.rm-property__mosaic {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.85rem 0 0 !important;
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 8px !important;
  height: min(52vh, 520px) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
}

.rm-property__mosaic-main,
.rm-property__mosaic-cell {
  position: relative !important;
  overflow: hidden !important;
  background: #ddd !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  min-height: 0 !important;
  display: block !important;
}

.rm-property__mosaic-main img,
.rm-property__mosaic-cell img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border: 0 !important;
}

.rm-property__mosaic-side {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 8px !important;
  min-height: 0 !important;
  border: 0 !important;
}

.rm-property__showall {
  position: absolute !important;
  right: 14px !important;
  bottom: 14px !important;
  z-index: 2 !important;
}

.rm-property__tabs {
  position: sticky !important;
  top: 32px !important;
  z-index: 40 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rm-line) !important;
  margin-top: 1.1rem !important;
  width: 100% !important;
  max-width: 100% !important;
}

.admin-bar .rm-property__tabs {
  top: 64px !important;
}

.rm-property__tabs-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  gap: 1.5rem !important;
}

.rm-property__tabs a {
  padding: 1rem 0 !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  border-bottom: 2px solid transparent !important;
  color: var(--rm-ink) !important;
}

.rm-property__tabs a:hover {
  border-bottom-color: var(--rm-ink) !important;
}

.rm-property__layout {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 380px) !important;
  gap: 4rem !important;
  align-items: start !important;
  padding-top: 1.5rem !important;
}

.rm-property__overview {
  padding-bottom: 1.4rem !important;
  border-bottom: 1px solid var(--rm-line) !important;
  margin-bottom: 0.25rem !important;
}

.rm-property__overview h2 {
  margin: 0 0 0.35rem !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: var(--rm-ink) !important;
  font-family: var(--rm-body) !important;
}

.rm-property__overview p {
  margin: 0 !important;
  color: var(--rm-muted) !important;
  font-size: 0.98rem !important;
}

.rm-property__section {
  padding: 2rem 0 !important;
  border-bottom: 1px solid var(--rm-line) !important;
}

.rm-property__section h2 {
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  margin: 0 0 1.1rem !important;
  color: var(--rm-ink) !important;
  font-family: var(--rm-body) !important;
}

.rm-property__lead {
  font-size: 1.02rem !important;
  margin: 0 !important;
  line-height: 1.65 !important;
  color: var(--rm-ink) !important;
  max-width: 42rem !important;
}

.rm-property__amenities {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.05rem 1.5rem !important;
}

.rm-property__amenities li {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  color: var(--rm-ink) !important;
  font-size: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.rm-property__amenities li::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--rm-olive) !important;
  flex: 0 0 auto !important;
  border: 0 !important;
}

.rm-property__amenities--rest {
  margin-top: 1rem !important;
}

.rm-property__rules li {
  padding: 0.95rem 0 !important;
  border-bottom: 1px solid var(--rm-line) !important;
  color: var(--rm-ink) !important;
  font-size: 1rem !important;
  margin: 0 !important;
  background: transparent !important;
}

.rm-property__rules li:last-child {
  border-bottom: 0 !important;
}

.rm-property__more {
  margin-top: 1.35rem !important;
  border: 0 !important;
  background: transparent !important;
}

.rm-property__gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.rm-property__gallery-item {
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #ddd !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  display: block !important;
}

.rm-property__gallery-item:hover,
.rm-property__gallery-item:focus,
.rm-property__gallery-item:focus-visible {
  border: 0 !important;
  outline: 2px solid #222 !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

.rm-property__gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.rm-property__booking-card {
  position: sticky !important;
  top: 120px !important;
  padding: 1.35rem !important;
  border: 1px solid var(--rm-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--rm-shadow) !important;
  background: #fff !important;
  display: grid !important;
  gap: 0.75rem !important;
}

.rm-property__booking-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 0.75rem !important;
}

.rm-property__booking-card h3 {
  margin: 0 !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--rm-ink) !important;
  font-family: var(--rm-body) !important;
}

.rm-property__booking-card p {
  margin: 0 !important;
  color: var(--rm-muted) !important;
}

.rm-property__amenities li[hidden],
.rm-property .rm-amenity-extra[hidden] {
  display: none !important;
}

.rm-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: rgba(0, 0, 0, 0.92) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.5rem !important;
  border: 0 !important;
}

.rm-lightbox[hidden] {
  display: none !important;
}

body.rm-lightbox-open {
  overflow: hidden !important;
}

.rm-lightbox__image {
  max-width: min(1100px, 92vw) !important;
  max-height: 82vh !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  border: 0 !important;
}

/* Higher specificity than .rm-property button reset */
.rm-property .rm-lightbox__close,
.rm-property .rm-lightbox__nav,
.rm-lightbox .rm-lightbox__close,
.rm-lightbox .rm-lightbox__nav {
  position: absolute !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.rm-property .rm-lightbox__close:hover,
.rm-property .rm-lightbox__nav:hover,
.rm-lightbox .rm-lightbox__close:hover,
.rm-lightbox .rm-lightbox__nav:hover,
.rm-property .rm-lightbox__close:focus,
.rm-property .rm-lightbox__nav:focus,
.rm-lightbox .rm-lightbox__close:focus,
.rm-lightbox .rm-lightbox__nav:focus {
  background: #f3f3f3 !important;
  color: #111111 !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
}

.rm-property .rm-lightbox__close,
.rm-lightbox .rm-lightbox__close {
  top: 1.25rem !important;
  right: 1.25rem !important;
}

.rm-property .rm-lightbox__prev,
.rm-lightbox .rm-lightbox__prev {
  left: 1.25rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.rm-property .rm-lightbox__next,
.rm-lightbox .rm-lightbox__next {
  right: 1.25rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.rm-lightbox__close svg,
.rm-lightbox__nav svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  border: 0 !important;
}

@media (max-width: 1100px) {
  .rm-property {
    padding: 40px 40px !important;
  }

  .rm-property-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rm-property__layout {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .rm-property__booking-card {
    position: static !important;
  }

  .rm-property__mosaic {
    height: min(48vh, 420px) !important;
  }
}

@media (max-width: 768px) {
  .rm-property {
    padding: 20px !important;
  }
}

@media (max-width: 640px) {
  .rm-property-grid,
  .rm-property__amenities {
    grid-template-columns: 1fr !important;
  }

  .rm-property__mosaic {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }

  .rm-property__mosaic-main {
    aspect-ratio: 4 / 3 !important;
  }

  .rm-property__mosaic-side {
    display: none !important;
  }

  .rm-property__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* FAQs — stacked cards (active border #DA1349), fills Elementor container */
.rm-faqs {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.rm-faqs__heading {
  margin: 0 0 1.25rem !important;
  padding: 0 !important;
  font-family: var(--rm-body) !important;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #111111 !important;
  letter-spacing: -0.02em !important;
  border: 0 !important;
  background: transparent !important;
}

.rm-faqs .rm-faqs__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  row-gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  border-radius: 0 !important;
  height: auto !important;
}

.rm-faqs .rm-faqs__item {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: #f3f3f3 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}

.rm-faqs .rm-faqs__item + .rm-faqs__item {
  margin-top: 0 !important;
}

.rm-faqs .rm-faqs__item:hover {
  background: #eeeeee !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.rm-faqs .rm-faqs__item.is-open {
  background: #ffffff !important;
  border: 1px solid #DA1349 !important;
  box-shadow: none !important;
}

.rm-faqs .rm-faqs__item.is-open:hover {
  background: #ffffff !important;
  border-color: #DA1349 !important;
}

.rm-faqs button.rm-faqs__question,
.rm-faqs .rm-faqs__question {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  width: 100% !important;
  min-height: 64px !important;
  height: auto !important;
  max-height: none !important;
  text-align: left !important;
  padding: 22px 24px !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #666666 !important;
  font-family: var(--rm-body) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.rm-faqs button.rm-faqs__question:hover,
.rm-faqs button.rm-faqs__question:focus,
.rm-faqs button.rm-faqs__question:focus-visible,
.rm-faqs .rm-faqs__question:hover,
.rm-faqs .rm-faqs__question:focus,
.rm-faqs .rm-faqs__question:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  color: #444444 !important;
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.rm-faqs .rm-faqs__item.is-open button.rm-faqs__question,
.rm-faqs .rm-faqs__item.is-open .rm-faqs__question {
  color: #111111 !important;
  font-weight: 700 !important;
  min-height: 0 !important;
  padding: 22px 24px 10px !important;
}

.rm-faqs .rm-faqs__question-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: inherit !important;
  font-weight: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.rm-faqs .rm-faqs__icon {
  flex: 0 0 auto !important;
  position: relative !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #555555 !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.rm-faqs .rm-faqs__question:hover .rm-faqs__icon {
  border: 0 !important;
  color: #333333 !important;
}

.rm-faqs .rm-faqs__icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
  border: 0 !important;
  position: absolute !important;
  inset: 2px !important;
  margin: auto !important;
}

.rm-faqs .rm-faqs__icon-minus {
  opacity: 0 !important;
}

.rm-faqs .rm-faqs__item.is-open .rm-faqs__icon {
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  color: #111111 !important;
  box-shadow: none !important;
}

.rm-faqs .rm-faqs__item.is-open .rm-faqs__icon-plus {
  opacity: 0 !important;
}

.rm-faqs .rm-faqs__item.is-open .rm-faqs__icon-minus {
  opacity: 1 !important;
}

.rm-faqs .rm-faqs__answer {
  overflow: hidden !important;
  height: auto !important;
  max-height: none !important;
}

.rm-faqs .rm-faqs__answer[hidden] {
  display: none !important;
}

.rm-faqs .rm-faqs__answer-inner {
  display: block !important;
  padding: 4px 48px 22px 24px !important;
  margin: 0 !important;
  color: #333333 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  border: 0 !important;
  background: transparent !important;
  height: auto !important;
}

.rm-faqs .rm-faqs__answer-inner p {
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  color: #333333 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  border: 0 !important;
  background: transparent !important;
}

.rm-faqs .rm-faqs__answer-inner p:last-child {
  margin-bottom: 0 !important;
}

.rm-faqs .rm-faqs__bullets {
  list-style: disc !important;
  margin: 0.35rem 0 0.75rem 1.15rem !important;
  padding: 0 !important;
  color: #333333 !important;
}

.rm-faqs .rm-faqs__bullets li {
  margin: 0 0 0.4rem !important;
  padding: 0 !important;
  list-style: disc !important;
  color: #333333 !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
}

.rm-faqs .rm-faqs__bullets li::marker {
  color: #111111 !important;
  content: normal !important;
}

@media (max-width: 640px) {
  .rm-faqs button.rm-faqs__question,
  .rm-faqs .rm-faqs__question {
    padding: 18px 16px !important;
    min-height: 56px !important;
    font-size: 16px !important;
  }

  .rm-faqs .rm-faqs__item.is-open button.rm-faqs__question,
  .rm-faqs .rm-faqs__item.is-open .rm-faqs__question {
    padding: 18px 16px 8px !important;
  }

  .rm-faqs .rm-faqs__answer-inner {
    padding: 4px 16px 18px 16px !important;
  }
}
