





/* =========================================================
   GLOBAL TITLES + SUBTITLES
   Stuart Bartwicki Website
   ========================================================= */

/* Load the same fonts used in the original design */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@400;500;600;700;800&display=swap');


/* ─── PRIMARY SECTION TITLES ───────────────────────────── */

.block-layout .title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 500 !important;
  line-height: 0.92 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: rgba(17, 36, 50, 1) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* ─── GOLD SUBTITLES / EYEBROWS ───────────────────────── */

.block-layout .sub-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #d3ae57 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}


/* ─── REVERSE TITLE LAYOUT ───────────────────────────────
   Keeps the subtitle above the title when the myRealPage
   block uses the title-reverse option.
   ------------------------------------------------------- */

.block-layout .titles.title-reverse {
  display: flex !important;
  flex-direction: column !important;
}

.block-layout .titles.title-reverse .sub-title {
  order: 1 !important;
}

.block-layout .titles.title-reverse .title {
  order: 2 !important;
}


/* ─── MOBILE REFINEMENT ───────────────────────────────── */

@media (max-width: 620px) {
  .block-layout .title {
    line-height: 0.95 !important;
  }

  .block-layout .sub-title {
    letter-spacing: 0.18em !important;
    margin-bottom: 12px !important;
  }
} 


/* =========================================================
   SOLD DATA PANEL — DESKTOP HEIGHT + CLIPPING FIX
   Makes the overlay contribute to the section height
   while keeping it layered over the blurred cards
   ========================================================= */

@media (min-width: 769px) {

  .sold-section {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    position: relative !important;
    height: auto !important;
    max-height: none !important;
    min-height: 560px !important;
    overflow: hidden !important;
  }

  /* Place the blurred cards and unlock panel in the same grid area */
  .sold-section > .sold-section-inner,
  .sold-section > .sold-overlay {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .sold-section > .sold-section-inner {
    min-height: 560px !important;
    z-index: 0 !important;
  }

  /*
    Important:
    Override the old absolute overlay positioning.
    The overlay still sits over the cards because both layers
    occupy the same grid area, but it now expands the section.
  */
  .sold-section > .sold-overlay {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    min-height: 560px !important;
    padding: 76px 24px 92px !important;
    overflow: visible !important;
  }

  .sold-section .sold-unlock-panel {
    box-sizing: border-box !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .sold-section .sold-btns {
    flex-wrap: wrap !important;
    margin-top: 28px !important;
    padding-bottom: 4px !important;
  }
} 


#site-nav {
  display: none !important;
} 



/* Global Accent / Emphasis Button */
a.fluid-button.button.filled[style*="--fl-button-bg-color"][style*="var(--g-accent-color)"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: var(--g-accent-color) !important;
  border: 2px solid var(--g-accent-color) !important;
  color: #ffffff !important;

  padding: 16px 30px !important;
  min-height: 52px !important;
  border-radius: 0 !important;
  text-decoration: none !important;

  box-shadow:
    0 0 0 0 color-mix(in srgb, var(--g-accent-color) 55%, transparent),
    0 10px 26px color-mix(in srgb, var(--g-accent-color) 35%, transparent) !important;

  animation: globalAccentButtonGlow 2.2s infinite ease-in-out !important;
  transition: all 0.25s ease !important;
}

a.fluid-button.button.filled[style*="--fl-button-bg-color"][style*="var(--g-accent-color)"] label {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 !important;
  cursor: pointer !important;
}

a.fluid-button.button.filled[style*="--fl-button-bg-color"][style*="var(--g-accent-color)"]:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08) !important;
  box-shadow:
    0 0 0 6px color-mix(in srgb, var(--g-accent-color) 18%, transparent),
    0 14px 34px color-mix(in srgb, var(--g-accent-color) 45%, transparent) !important;
}

a.fluid-button.button.filled[style*="--fl-button-bg-color"][style*="var(--g-accent-color)"]:hover label {
  color: #ffffff !important;
}

@keyframes globalAccentButtonGlow {
  0% {
    box-shadow:
      0 0 0 0 color-mix(in srgb, var(--g-accent-color) 40%, transparent),
      0 10px 26px color-mix(in srgb, var(--g-accent-color) 30%, transparent);
  }

  50% {
    box-shadow:
      0 0 0 8px color-mix(in srgb, var(--g-accent-color) 12%, transparent),
      0 14px 34px color-mix(in srgb, var(--g-accent-color) 42%, transparent);
  }

  100% {
    box-shadow:
      0 0 0 0 color-mix(in srgb, var(--g-accent-color) 40%, transparent),
      0 10px 26px color-mix(in srgb, var(--g-accent-color) 30%, transparent);
  }
}

/* Accessibility: reduce animation for users who prefer less motion */
@media (prefers-reduced-motion: reduce) {
  a.fluid-button.button.filled[style*="--fl-button-bg-color"][style*="var(--g-accent-color)"] {
    animation: none !important;
  }
}

/* Global Dark / Secondary Button */
a.fluid-button.button.default-style.outlined {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #122233 !important;
  border: 2px solid #122233 !important;
  color: #ffffff !important;

  padding: 16px 28px !important;
  min-height: 50px !important;

  text-decoration: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  transition: all 0.25s ease !important;
}

a.fluid-button.button.default-style.outlined label {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 !important;
  cursor: pointer !important;
}

a.fluid-button.button.default-style.outlined:hover {
  background: #0b1724 !important;
  border-color: #0b1724 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

a.fluid-button.button.default-style.outlined:hover label {
  color: #ffffff !important;
}

a.fluid-button.button.default-style.outlined:focus-visible {
  outline: 3px solid rgba(18, 34, 51, 0.25) !important;
  outline-offset: 3px !important;
} 


/* Global Paragraph / Body Text Styling */
body p {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 1.08rem !important;
  line-height: 1.74 !important;
  letter-spacing: normal !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
} 




/* ===================================================================
   BODY / META TYPE → Inter
   =================================================================== */
.mrp-weblet-blog,
.mrp-weblet-blog p,
.mrp-weblet-blog div,
.mrp-weblet-blog span,
.mrp-weblet-blog li,
.mrp-weblet-blog .weblet_blog-entry-text,
.mrp-weblet-blog .blog-entry-text,
.mrp-weblet-blog .blog-entry-summary,
.mrp-weblet-blog .blog-entry-date,
.mrp-weblet-blog .blog-entry-meta,
.mrp-weblet-blog .entry-date,
.mrp-weblet-blog .entry-meta {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ===================================================================
   HEADINGS → Cormorant Garamond
   =================================================================== */
.mrp-weblet-blog h1,
.mrp-weblet-blog h2,
.mrp-weblet-blog h3,
.mrp-weblet-blog h4,
.mrp-weblet-blog .title,
.mrp-weblet-blog .weblet_blog-entry-heading,
.mrp-weblet-blog .weblet_blog-entry-heading a,
.mrp-weblet-blog .weblet_blog-entry-heading-text {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Generic title sizes (in-body h1 / .title) */
.mrp-weblet-blog h1,
.mrp-weblet-blog .title {
  font-size: clamp(2.4rem, 5vw, 4.5rem) !important;
  font-weight: 600 !important;
}

/* ---- Single-post title (H1, text sits directly in the heading) ---- */
.mrp-weblet-blog h1.weblet_blog-entry-heading,
.mrp-weblet-blog .weblet_blog-blog-entry h1.weblet_blog-entry-heading {
  font-size: clamp(2.3rem, 4.4vw, 3.6rem) !important;
  line-height: 1.05 !important;
}

/* ---- Blog-list title (H2, text is inside a span) ---- */
.mrp-weblet-blog h2.weblet_blog-entry-heading,
.mrp-weblet-blog h2.weblet_blog-entry-heading a,
.mrp-weblet-blog h2.weblet_blog-entry-heading .weblet_blog-entry-heading-text,
.mrp-weblet-blog .weblet_blog-entry-heading-text.weblet_blog-entry-heading-text {
  font-size: clamp(1.7rem, 2.6vw, 2.4rem) !important;
  line-height: 1.08 !important;
}

/* ===================================================================
   GENERIC BUTTON / READ-MORE TYPE → Inter, bold, tracked
   =================================================================== */
.mrp-weblet-blog a.button,
.mrp-weblet-blog .button,
.mrp-weblet-blog .btn,
.mrp-weblet-blog .read-more,
.mrp-weblet-blog .blog-read-more {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* ===================================================================
   "READ" PERMALINK BUTTON → gold fill, white label, navy hover
   =================================================================== */
.mrp-weblet-blog .weblet_blog-entry-full-link .weblet_blog-entry-permalink,
.mrp-weblet-blog a.weblet_blog-entry-permalink {
  display: inline-block !important;
  background: #D3AE58 !important;        /* brand dark gold */
  color: #FFFFFF !important;             /* white label */
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 30px !important;
  border: 1px solid #D3AE58 !important;
  border-radius: 0 !important;
}

/* the visible label lives inside a <span> — force font + colour on it */
.mrp-weblet-blog .weblet_blog-entry-permalink span {
  color: #FFFFFF !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* hover / focus → navy fill */
.mrp-weblet-blog .weblet_blog-entry-full-link .weblet_blog-entry-permalink:hover,
.mrp-weblet-blog .weblet_blog-entry-full-link .weblet_blog-entry-permalink:focus,
.mrp-weblet-blog a.weblet_blog-entry-permalink:hover,
.mrp-weblet-blog a.weblet_blog-entry-permalink:focus {
  background: #112431 !important;
  border-color: #112431 !important;
  color: #FFFFFF !important;
}
.mrp-weblet-blog .weblet_blog-entry-permalink:hover span,
.mrp-weblet-blog .weblet_blog-entry-permalink:focus span {
  color: #FFFFFF !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
}

/* fallback @import in case the <link> tags above get stripped by the builder */
  @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

  /* ─── 1. HIDE THE ORIGINAL AREA LIST — LIST VIEW ONLY ───────────── */
  /* Matches only when the listing-areas weblet is NOT in results mode
     (no 'extended-mode'). In results view the rule stops matching, so the
     MLS listings render untouched. Id-independent (works on all 4 pages). */
  .block-layout.listing-areas-ls-001:has(.mrp-weblet-listing-areas:not(.extended-mode)) {
    display: none !important;
  }
  /* Fallback for older engines without :has() — hides just the plain area
     section (the results view has no .mrp-listing-areas-section, so it's safe).
     May leave the empty shadow shell; the :has() rule above removes it where
     supported. */
  .mrp-weblet-listing-areas:not(.extended-mode) .mrp-listing-areas-section {
    display: none !important;
  }

  /* ─── 3. HIDE OUR PILLS IN RESULTS VIEW ─────────────────────────── */
  /* Mirrors the original (the plain list disappears once results load).
     Delete this rule if you'd rather keep the pills as an area-switcher. */
  body:has(.mrp-weblet-listing-areas.extended-mode) #sb-quad {
    display: none !important;
  }

  /* ─── ROOT SCOPE + TOKENS ───────────────────────────────────────── */
  #sb-quad {
    --navy: #112431;
    --dark-gold: #D3AE58;
    --light-gold: #E6D5A8;
    --soft-white: #F8F7F4;
    --charcoal: #1E1E1E;

    background: var(--soft-white);
    padding: clamp(34px, 5vw, 56px) clamp(20px, 4vw, 44px);
    font-family: "Inter", Arial, sans-serif;
    color: var(--charcoal);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    box-sizing: border-box;
  }
  #sb-quad * { box-sizing: border-box; }

  /* ─── HEADING ("North West" + "Calgary" eyebrow) ────────────────── */
  #sb-quad .sb-quad-head {
    margin: 0 0 26px 0;
    padding-bottom: 18px;
    position: relative;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 14px;
  }
  #sb-quad .sb-quad-head::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 54px; height: 2px;
    background: var(--dark-gold);
  }
  #sb-quad .sb-quad-title {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.9rem, 3.6vw, 3rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--navy);
    margin: 0;
  }
  #sb-quad .sb-quad-eyebrow {
    font-family: "Inter", Arial, sans-serif;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #B68F39;                 /* darker gold for contrast on soft-white */
    white-space: nowrap;
    position: relative;
    padding-left: 18px;
  }
  #sb-quad .sb-quad-eyebrow::before {
    content: "\00B7";               /* middot separator */
    position: absolute;
    left: 0;
    color: var(--dark-gold);
    font-weight: 700;
  }

  /* ─── PILL WRAP ─────────────────────────────────────────────────── */
  #sb-quad .sb-quad-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  #sb-quad .sb-quad-list li { margin: 0; padding: 0; list-style: none; }

  /* ─── PILL BUTTONS ──────────────────────────────────────────────── */
  #sb-quad .sb-quad-list a {
    display: inline-block;
    padding: 11px 20px;
    border: 1px solid rgba(211,174,88,0.85);
    border-radius: 0;               /* brand uses square corners */
    background: transparent;
    color: var(--navy);
    font-family: "Inter", Arial, sans-serif;
    font-size: 0.84rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.22s ease, color 0.22s ease,
                border-color 0.22s ease, transform 0.22s ease,
                box-shadow 0.22s ease;
    /* staggered entrance */
    opacity: 0;
    transform: translateY(8px);
    animation: sb-quad-rise 0.5s ease both;
  }
  #sb-quad .sb-quad-list a:hover,
  #sb-quad .sb-quad-list a:focus {
    background: var(--navy);
    border-color: var(--navy);
    color: var(--light-gold);       /* light gold text on navy */
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(17,36,49,0.18);
    outline: none;
  }

  /* stagger the rise across the first ~16 pills */
  @keyframes sb-quad-rise {
    to { opacity: 1; transform: translateY(0); }
  }
  #sb-quad .sb-quad-list li:nth-child(1)  a { animation-delay: 0.02s; }
  #sb-quad .sb-quad-list li:nth-child(2)  a { animation-delay: 0.05s; }
  #sb-quad .sb-quad-list li:nth-child(3)  a { animation-delay: 0.08s; }
  #sb-quad .sb-quad-list li:nth-child(4)  a { animation-delay: 0.11s; }
  #sb-quad .sb-quad-list li:nth-child(5)  a { animation-delay: 0.14s; }
  #sb-quad .sb-quad-list li:nth-child(6)  a { animation-delay: 0.17s; }
  #sb-quad .sb-quad-list li:nth-child(7)  a { animation-delay: 0.20s; }
  #sb-quad .sb-quad-list li:nth-child(8)  a { animation-delay: 0.23s; }
  #sb-quad .sb-quad-list li:nth-child(9)  a { animation-delay: 0.26s; }
  #sb-quad .sb-quad-list li:nth-child(10) a { animation-delay: 0.29s; }
  #sb-quad .sb-quad-list li:nth-child(11) a { animation-delay: 0.32s; }
  #sb-quad .sb-quad-list li:nth-child(12) a { animation-delay: 0.35s; }
  #sb-quad .sb-quad-list li:nth-child(13) a { animation-delay: 0.38s; }
  #sb-quad .sb-quad-list li:nth-child(14) a { animation-delay: 0.41s; }
  #sb-quad .sb-quad-list li:nth-child(15) a { animation-delay: 0.44s; }
  #sb-quad .sb-quad-list li:nth-child(n+16) a { animation-delay: 0.47s; }

  /* ─── RESPONSIVE ────────────────────────────────────────────────── */
  @media (max-width: 620px) {
    #sb-quad .sb-quad-list { gap: 8px; }
    #sb-quad .sb-quad-list a { padding: 10px 16px; font-size: 0.8rem; }
    #sb-quad .sb-quad-head { gap: 8px; }
    #sb-quad .sb-quad-eyebrow {
      flex-basis: 100%;
      padding-left: 0;
    }
    #sb-quad .sb-quad-eyebrow::before { content: ""; }
  }

  /* ─── REDUCED MOTION ────────────────────────────────────────────── */
  @media (prefers-reduced-motion: reduce) {
    #sb-quad .sb-quad-list a {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
    }
    #sb-quad .sb-quad-list a:hover,
    #sb-quad .sb-quad-list a:focus { transform: none !important; }
  }

  /* ════════════════════════════════════════════════════════════════
     4. RESULTS-VIEW HEADER (extended-mode only)
     The MRP <h1> is:  "Arbour Lake" <span>North West</span><span>Calgary</span>
     We make the <h1> a flexbox and push BOTH parent spans to negative
     order. "Arbour Lake" is a bare TEXT NODE (anonymous flex item =
     order 0), so it falls to the END, giving:
            North West : Calgary : Arbour Lake
     ► To change the order, just change the two `order:` values below
       (lower number = earlier). e.g. swap them for Calgary-first.
     ════════════════════════════════════════════════════════════════ */
  .mrp-weblet-listing-areas.extended-mode h1,
  .mrp-weblet-listing-areas.extended-mode h1 .mrp-listing-area-parent {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 600 !important;
    color: #112431 !important;            /* navy */
    text-transform: none !important;
    letter-spacing: 0.01em !important;
  }
  .mrp-weblet-listing-areas.extended-mode h1 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 0 !important;
    line-height: 1.05 !important;
  }
  /* the two parent spans match the main title size, sit before the text node */
  .mrp-weblet-listing-areas.extended-mode h1 .mrp-listing-area-parent {
    font-size: inherit !important;        /* uniform — see note to de-emphasize */
    margin: 0 !important;
  }
  .mrp-weblet-listing-areas.extended-mode h1 .mrp-listing-area-parent-0 { order: -2 !important; } /* North West */
  .mrp-weblet-listing-areas.extended-mode h1 .mrp-listing-area-parent-1 { order: -1 !important; } /* Calgary    */

  /* gold " : " separators — NW : Calgary : Arbour Lake (none before NW) */
  .mrp-weblet-listing-areas.extended-mode h1 .mrp-listing-area-parent-0::before {
    content: "" !important; margin: 0 !important;
  }
  .mrp-weblet-listing-areas.extended-mode h1 .mrp-listing-area-parent-1::before,
  .mrp-weblet-listing-areas.extended-mode h1 .mrp-listing-area-parent-1::after {
    content: ":" !important;
    color: #D3AE58 !important;            /* gold */
    font-weight: 500 !important;
    padding: 0 0.4em !important;
  }

  /* breadcrumb link ("Search Calgary Northwest Quadrant") -> navy, gold hover */
  .mrp-weblet-listing-areas.extended-mode .mrp-listing-area-breadcrumbs a {
    color: #112431 !important;            /* dark navy — swap to #D3AE58 for gold */
    font-family: "Inter", Arial, sans-serif !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
  .mrp-weblet-listing-areas.extended-mode .mrp-listing-area-breadcrumbs a:hover,
  .mrp-weblet-listing-areas.extended-mode .mrp-listing-area-breadcrumbs a:focus {
    color: #D3AE58 !important;            /* gold on hover */
    text-decoration: underline !important;
  }