
      /* === Style bridge — match main page === */
      :root { --ink: #0a0a0a; --off: #fafaf7; --paper: #f4f2ed; --line: #e6e3dc; }
      body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: var(--off); color: var(--ink); -webkit-font-smoothing: antialiased; }
      a[aria-label="Go to homepage"] { display: inline-flex !important; align-items: center; line-height: 1; color: var(--ink) !important; text-decoration: none; font-family: 'Lora', Georgia, serif; font-size: 19px; letter-spacing: -0.01em; }


      /* Harmonize navbar bg + text */
      .site-header { background: rgba(250, 250, 247, 0.85) !important; backdrop-filter: saturate(1.3) blur(12px); -webkit-backdrop-filter: saturate(1.3) blur(12px); border-bottom: 1px solid var(--line) !important; }
      .site-header a, .site-header button, .site-header nav, .site-header [data-slot] { color: var(--ink); }

      /* Use Lora for major headings */
      [data-slot="property-title"], [data-slot="section-header"],
      h1.text-headline, h2.text-headline, h3.text-headline,
      h1.text-\[28px\], h1.text-\[32px\], h1.text-\[40px\], h1.text-\[48px\],
      h2.text-\[24px\], h2.text-\[28px\], h2.text-\[32px\] { font-family: 'Lora', Georgia, serif !important; letter-spacing: 0; }

      /* Primary CTAs → black pill */
      button[class*="bg-button-primary"], a[class*="bg-button-primary"],
      [data-slot="button"][data-variant="primary"] { background: var(--ink) !important; color: #fff !important; border-radius: 999px !important; }

      .villa-floating-back { /* thbBackV3 circle */
        position: fixed; top: 88px; left: 20px; z-index: 60;
        display: inline-flex; align-items: center; justify-content: center;
        width: 44px; height: 44px; padding: 0; box-sizing: border-box;
        background: rgba(255,255,255,.94); border: 1px solid #e6e3dc; border-radius: 999px;
        backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
        box-shadow: 0 4px 14px rgba(0,0,0,.10); color: #0a0a0a;
        cursor: pointer; transition: border-color .16s, box-shadow .16s, transform .16s;
      }
      .villa-floating-back:hover { border-color: #0a0a0a; background: #fff; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.14); }
      @media (max-width: 768px) {
        .villa-floating-back { top: 82px; left: 14px; width: 42px; height: 42px; }
      }
      /* mobile: the bottom "Request to book" bar replaces the header CTA */
      @media (max-width: 1023px) {
        [data-thb-cta="check-availability"] { display: none !important; }
      }
    