/* Shared mobile contact surface. The controller measures height + bottom inset
   into --rr-mobile-contact-space on html; keep that space when temporarily hidden. */
.rr-mobile-contact,
.rr-mobile-contact[hidden] {
  display: none !important;
}

@media screen and (max-width: 760px) {
  body.rr-mobile-contact-page {
    padding-bottom: var(--rr-mobile-contact-space, calc(90px + env(safe-area-inset-bottom, 0px))) !important;
  }

  html:has(body.rr-mobile-contact-page) {
    scroll-padding-bottom: var(--rr-mobile-contact-space, calc(90px + env(safe-area-inset-bottom, 0px)));
  }

  body.rr-mobile-contact-page .fab,
  body.rr-mobile-contact-page .quote-bar {
    display: none !important;
  }

  /* Keep the original first-screen actions above the tall product visual. */
  body.rr-mobile-contact-page.buyer-showroom .hero-cta { grid-row: 3; }
  body.rr-mobile-contact-page.buyer-showroom .hero-visual { grid-row: 4; }
  body.rr-mobile-contact-page.cotton-model-page .model-hero-copy > .model-actions { grid-row: 4; }
  body.rr-mobile-contact-page.cotton-model-page .model-hero-visual { grid-row: 5; }
  body.rr-mobile-contact-page.cotton-model-page .model-hero-copy > .model-lead { grid-row: 6; }
  body.rr-mobile-contact-page.cotton-model-page .model-hero-copy > .model-price-note { grid-row: 7; }

  body.rr-mobile-contact-page :is(.hero-cta, .hero-actions, .p-hero-cta, .path-actions, .model-actions) {
    scroll-margin-block-end: calc(var(--rr-mobile-contact-space, 90px) + 16px);
  }

  body.rr-mobile-contact-page .rr-mobile-contact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    position: fixed !important;
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    z-index: 70 !important;
    box-sizing: border-box;
    margin: 0;
    padding: 8px;
    border: 1px solid #d4d8df;
    border-radius: 28px;
    background: #f8f8fa;
    color: #25272d;
    box-shadow: 0 12px 30px rgba(60, 40, 35, .08), 0 2px 8px rgba(60, 40, 35, .04), inset 0 1px 0 rgba(255, 255, 255, .68);
    animation: none !important;
    transition: none !important;
  }

  body.rr-mobile-contact-page .rr-mobile-contact a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 48px;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid var(--rr-contact-border, rgba(29, 26, 25, .12));
    border-radius: 20px;
    background: linear-gradient(rgba(255, 255, 255, .06), rgba(255, 255, 255, .06)), var(--rr-contact-tint, transparent);
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--rr-contact-ink, #1d1a19);
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
    -webkit-tap-highlight-color: transparent;
  }

  .rr-mobile-contact .rr-mobile-contact-whatsapp {
    --rr-contact-ink: #123e34;
    --rr-contact-tint: rgba(18, 62, 52, .03);
    --rr-contact-border: rgba(18, 62, 52, .14);
  }
  .rr-mobile-contact .rr-mobile-contact-quote {
    --rr-contact-ink: #702a25;
    --rr-contact-tint: rgba(112, 42, 37, .03);
    --rr-contact-border: rgba(112, 42, 37, .14);
  }

  body.rr-mobile-contact-page .rr-mobile-contact a:focus-visible {
    outline: 3px solid #175cab;
    outline-offset: 3px;
  }

  body.rr-mobile-contact-page .rr-mobile-contact[hidden],
  html.rr-contact-bottom-blocked .rr-mobile-contact,
  html.rr-contact-in-view .rr-mobile-contact,
  body.rr-vmodal-open .rr-mobile-contact,
  body:has(.nav.open, .lang-menu.open, .buyer-resource-nav[open], dialog[open], form:focus-within,
    input:focus, textarea:focus, select:focus, [contenteditable]:not([contenteditable="false"]):focus-within) .rr-mobile-contact {
    display: none !important;
  }
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  @media screen and (max-width: 760px) {
    body.rr-mobile-contact-page .rr-mobile-contact {
      background: linear-gradient(135deg, rgba(255, 255, 255, .4), rgba(255, 255, 255, .15) 60%, rgba(255, 255, 255, .26)), rgba(255, 255, 255, .64);
      border-color: rgba(255, 255, 255, .5);
      -webkit-backdrop-filter: blur(10px) saturate(140%);
      backdrop-filter: blur(10px) saturate(140%);
    }
  }
}

@media screen and (max-width: 760px) and (prefers-reduced-transparency: reduce),
       screen and (max-width: 760px) and (prefers-contrast: more) {
  body.rr-mobile-contact-page .rr-mobile-contact {
    background: #fff;
    border-color: #59616c;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media screen and (max-width: 760px) and (forced-colors: active) {
  body.rr-mobile-contact-page .rr-mobile-contact {
    background: Canvas;
    color: CanvasText;
    border-color: CanvasText;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  body.rr-mobile-contact-page .rr-mobile-contact a {
    background: ButtonFace;
    color: ButtonText;
    border-color: ButtonText;
  }
  body.rr-mobile-contact-page .rr-mobile-contact a:focus-visible {
    outline-color: Highlight;
  }
}
