/*
 * Facility / location card.
 *
 * Pixel-match React WebsiteFacilityCard.
 *
 * Divider spacing is painted on the <address> (padding-bottom + border-bottom)
 * so Elementor container padding/margin resets cannot collapse address→line.
 *
 *   p-6
 *   icon (size-9)
 *   h3 mt-4 text-xl font-semibold
 *   address mt-4 gap-1 … + pb-5 + border-b   ← line lives here
 *   action mt-auto pt-4                      ← space before button
 *     Button h-9 industrial-dark w-full
 */

.rq-page .rq-location-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  border-radius: var(--rq-radius-brand);
  background-color: var(--rq-background);
}

.rq-page .rq-location-card::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  z-index: 1;
  height: 0.25rem; /* h-1 */
  background-image: linear-gradient(
    135deg,
    var(--rq-logo-blue-light),
    var(--rq-logo-blue-mid) 52%,
    var(--rq-logo-blue-deep)
  );
  pointer-events: none;
}

/* React: flex flex-1 flex-col p-6 */
.rq-page .rq-location-card__body.e-con,
.rq-page .rq-location-card__body {
  --flex-direction: column !important;
  --justify-content: flex-start !important;
  --align-items: stretch !important;
  --gap: 0px !important;
  --padding-top: 1.5rem !important;
  --padding-bottom: 1.5rem !important;
  --padding-left: 1.5rem !important;
  --padding-right: 1.5rem !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-width: 0;
  min-height: 0;
  padding: 1.5rem !important;
}

.rq-page .rq-location-card__body > .elementor-element {
  --margin-block-start: 0px !important;
  --margin-block-end: 0px !important;
  --margin-inline-start: 0px !important;
  --margin-inline-end: 0px !important;
  margin: 0 !important;
}

.rq-page .rq-location-card__body > .rq-icon-chip,
.rq-page .rq-location-card__body > .elementor-widget-icon {
  flex-shrink: 0;
  align-self: flex-start;
  width: 2.25rem;
  height: 2.25rem;
}

/* mt-4 text-xl font-semibold */
.rq-page .rq-location-card__body > .rq-location-card__country,
.rq-page .rq-location-card__body > .rq-location-card__country.elementor-element {
  --margin-block-start: 1rem !important;
  margin-block-start: 1rem !important;
  margin-top: 1rem !important;
}

.rq-page .rq-location-card__country .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--rq-foreground) !important;
}

/*
 * Address + divider (React: address, then pt-5, then border-t).
 *
 * Box model on <address>:
 *   [lines]
 *   [padding-bottom: 1.25rem]  ← space above the line
 *   [border-bottom: 1px]       ← the divider
 */
.rq-page .rq-location-card__body .rq-location-card__address,
.rq-page .rq-location-card .rq-location-card__address,
address.rq-location-card__address {
  display: grid !important;
  gap: 0.25rem !important;
  box-sizing: border-box !important;
  margin: 1rem 0 0 !important;
  padding: 0 0 1.25rem !important; /* pt-5 above the rule */
  border: 0 !important;
  border-bottom: 1px solid var(--rq-border) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.25 !important;
  color: var(--rq-muted-foreground) !important;
}

.rq-page .rq-location-card__address span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* HTML widget wrapper — no extra box spacing; address owns it */
.rq-page .rq-location-card__body > .elementor-widget-html {
  --margin-block-start: 0px !important;
  --margin-block-end: 0px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*
 * Action footer (React: mt-auto + pt-4 below the rule, then button).
 * No border here — the address already draws the divider.
 */
.rq-page .rq-location-card__body > .rq-location-card__action,
.rq-page .rq-location-card__body > .rq-location-card__action.e-con {
  --flex-direction: column !important;
  --justify-content: flex-start !important;
  --align-items: stretch !important;
  --gap: 0px !important;
  --padding-top: 1rem !important; /* pt-4 below the rule */
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --margin-block-start: 0px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  flex-shrink: 0;
  gap: 0 !important;
  width: 100%;
  margin-block-start: auto !important;
  margin-top: auto !important;
  padding: 1rem 0 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  background-image: none !important;
}

.rq-page .rq-location-card__action::before,
.rq-page .rq-location-card__cta::before {
  content: none !important;
  display: none !important;
}

.rq-page .rq-location-card__action > .elementor-element {
  --margin-block-start: 0px !important;
  --margin-block-end: 0px !important;
  margin: 0 !important;
}

/* Nested cta (optional): no second border; keep pt-4 only */
.rq-page .rq-location-card__cta.e-con,
.rq-page .rq-location-card__cta {
  --flex-direction: column !important;
  --gap: 0px !important;
  --padding-top: 0px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.rq-page .rq-location-card__cta > .elementor-element {
  --margin-block-start: 0px !important;
  --margin-block-end: 0px !important;
  margin: 0 !important;
}

.rq-page .rq-location-card__action .rq-btn,
.rq-page .rq-location-card__action .rq-btn > .elementor-widget-container,
.rq-page .rq-location-card__action .elementor-button-wrapper,
.rq-page .rq-location-card__action .elementor-button,
.rq-page .rq-location-card__cta .rq-btn,
.rq-page .rq-location-card__cta .rq-btn > .elementor-widget-container,
.rq-page .rq-location-card__cta .elementor-button-wrapper,
.rq-page .rq-location-card__cta .elementor-button {
  width: 100% !important;
  max-width: 100%;
}

/* industrial-dark default: h-9 px-4 text-sm font-medium */
.rq-page .rq-location-card__action .rq-btn .elementor-button,
.rq-page .rq-location-card__action .rq-btn .elementor-button:hover,
.rq-page .rq-location-card__action .rq-btn .elementor-button:focus,
.rq-page .rq-location-card__cta .rq-btn .elementor-button,
.rq-page .rq-location-card__cta .rq-btn .elementor-button:hover,
.rq-page .rq-location-card__cta .rq-btn .elementor-button:focus {
  --e-button-padding-block-start: 0px !important;
  --e-button-padding-block-end: 0px !important;
  --e-button-padding-inline-start: 1rem !important;
  --e-button-padding-inline-end: 1rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  box-sizing: border-box !important;
  height: 2.25rem !important;
  min-height: 2.25rem !important;
  max-height: 2.25rem !important;
  padding: 0 1rem !important;
  border: 0 !important;
  border-radius: var(--rq-radius-brand) !important;
  background-image: none !important;
  background-color: var(--rq-foreground) !important;
  color: var(--rq-background) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.rq-page .rq-location-card__action .rq-btn .elementor-button:hover,
.rq-page .rq-location-card__cta .rq-btn .elementor-button:hover {
  background-color: color-mix(in oklab, var(--rq-foreground) 85%, transparent) !important;
}

.rq-page .rq-location-card__action .rq-btn .elementor-button-content-wrapper,
.rq-page .rq-location-card__cta .rq-btn .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.rq-page .rq-location-card__action .rq-btn .elementor-button-icon,
.rq-page .rq-location-card__action .rq-btn .elementor-button-icon svg,
.rq-page .rq-location-card__action .rq-btn .elementor-button-icon i,
.rq-page .rq-location-card__cta .rq-btn .elementor-button-icon,
.rq-page .rq-location-card__cta .rq-btn .elementor-button-icon svg,
.rq-page .rq-location-card__cta .rq-btn .elementor-button-icon i {
  width: 1rem !important;
  height: 1rem !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}
