﻿/* procabra-realty plugin CSS */
:root {
    --pr-red: #FF4853;
    --pr-charcoal: #373D40;
    --pr-cream: #ECE7DC;
    --pr-grey: #6b7280;
    --pr-light: #f9f9f9;
    --pr-radius: 8px;
    --pr-shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* ── Property grid ── */
.pr-properties-grid {
    display: grid;
    gap: 24px;
}
.pr-cols-3 { grid-template-columns: repeat(3, 1fr); }
.pr-cols-2 { grid-template-columns: repeat(2, 1fr); }
.pr-cols-1 { grid-template-columns: 1fr; }
@media (max-width: 1024px) { .pr-cols-3 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .pr-cols-3, .pr-cols-2 { grid-template-columns: 1fr; } }

/* ── Property card — match reference (Pro Cabramatta) ──────────────
   Card aspect ratio ~4:5 (taller than wide).
   Top ~63% = image area with diagonal cut at bottom-left revealing
              address+suburb overlay on dark bg.
   Bottom ~37% = always-visible body: stats row + "NEW TO MARKET" tag.
   Hover: clip-path animates to full rect, overlay fades out.
   ──────────────────────────────────────────────────────────────── */

.pr-card {
    background: var(--pr-charcoal);
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
    display: flex;
    flex-direction: column;
    min-height: 480px;
}
.pr-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(0,0,0,.22);
}

/* Image wrapper: takes ~63% of card height; the diagonal cut + overlay live here */
.pr-card__img-wrap {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--pr-charcoal);
    text-decoration: none;
    height: 320px;
    flex: 0 0 320px;
}
@media (max-width: 1200px) { .pr-card__img-wrap { height: 280px; flex-basis: 280px; } }
@media (max-width: 640px)  { .pr-card__img-wrap { height: 260px; flex-basis: 260px; } }

.pr-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}
.pr-card:hover .pr-card__img {
    transform: scale(1.04);
}
.pr-card__img--placeholder {
    position: absolute;
    inset: 0;
    background: var(--pr-cream);
}

/* Overlay removed — address+suburb are now inside .pr-card__body */
.pr-card__overlay { display: none; }

.pr-card__address {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 4px;
    line-height: 1.25;
}
.pr-card__address a { color: #fff; text-decoration: none; }
.pr-card__address a:hover { color: var(--pr-red); }
.pr-card__suburb {
    font-family: "Source Serif 4", Georgia, serif;
    font-style: italic;
    font-size: .92rem;
    color: var(--pr-red);
    margin: 0;
    font-weight: 600;
    line-height: 1.3;
}
.pr-card__title-block { margin-bottom: 14px; }

/* Card body: diagonal top cut overlaps image bottom ~44px
   clip-path pulls the top-left corner down, creating diagonal from TL to TR. */
.pr-card__body {
    padding: 54px 24px 22px;
    color: #fff;
    background: var(--pr-charcoal);
    margin-top: -44px;
    clip-path: polygon(0 44px, 100% 0, 100% 100%, 0 100%);
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0;
}
.pr-card__features {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    align-items: center;
}
.pr-feat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .92rem;
    color: rgba(255,255,255,.88);
    font-weight: 500;
}
.pr-feat svg { width: 18px; height: 18px; fill: currentColor; opacity: .9; }

/* Market tag at bottom — "NEW TO MARKET" / price / sold price */
.pr-card__market-tag {
    font-size: .78rem;
    font-weight: 800;
    color: #fff;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.08);
    text-transform: uppercase;
    line-height: 1.3;
    letter-spacing: .12em;
}
.pr-card__sold-date {
    font-weight: 400;
    font-size: .72rem;
    color: rgba(255,255,255,.55);
    margin-left: 8px;
    text-transform: none;
    letter-spacing: 0;
}
	span.wpcf7-spinner {
    display: contents;
}
/* Badge — top-right inside image area */
.pr-card__img-wrap .pr-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
}

.pr-card__agent { display: none; }

/* Mobile tweaks for property card */
@media (max-width: 640px) {
    .pr-card { min-height: 380px; }
    .pr-card__address { font-size: .95rem; }
    .pr-card__suburb { font-size: .85rem; }
    .pr-card__body { padding: 50px 18px 18px; }
    .pr-card__features { gap: 14px; }
    .pr-feat { font-size: .85rem; }
    .pr-card__market-tag { font-size: .72rem; padding-top: 10px; }
}
.pr-card__agent-avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.pr-card__agent-avatar--placeholder { background: var(--pr-cream); }
.pr-card__agent-name { font-size: .8rem; color: var(--pr-grey); text-decoration: none; font-weight: 500; }
.pr-card__agent-name:hover { color: var(--pr-red); }

/* ── Badges ── */
.pr-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.pr-card__img-wrap .pr-badge { position: absolute; top: 10px; right: 10px; z-index: 2; }
.pr-badge--for-sale,
.pr-badge--new,
.pr-badge--just-listed { background: var(--pr-red); color: #fff; }
.pr-badge--sold,
.pr-badge--leased     { background: var(--pr-charcoal); color: #fff; }
.pr-badge--for-rent   { background: #2563eb; color: #fff; }
.pr-badge--under-offer{ background: #d97706; color: #fff; }
.pr-badge--auction    { background: #7c3aed; color: #fff; }

/* ── Search form ── */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.pr-search-wrap { width: 100%; max-width: 1120px; margin: 0 auto; }
.pr-search-wrap--hero { /* inherits positioning from archive section */ }

/* Form container = pill. Reset Flatsome bleed (margins, shadows, font, color). */
.pr-search { background: #fff; border-radius: 30px; box-shadow: 0 10px 30px rgba(0,0,0,.18); overflow: visible;
    font-family: 'Poppins', system-ui, -apple-system, sans-serif !important;
    color: #373D40 !important; margin: 0 auto !important; max-width: 1120px; }
.pr-search input,
.pr-search select,
.pr-search button {
    margin: 0 !important; box-shadow: none !important; min-height: 0 !important;
    font-family: inherit !important; line-height: 1.4 !important;
    border-radius: 0; background-color: transparent;
}

/* Main pill row — fixed 60px to match reference */
.pr-search__pill { display: flex; align-items: center; min-height: 60px; height: 60px; padding: 0 6px 0 0; }
.pr-search__seg { display: flex; align-items: center; height: 100%; }
.pr-search__seg--dept  { padding: 0 6px 0 24px; border-right: 1px solid #e5e7eb; flex-shrink: 0; }
.pr-search__seg--lt    { padding: 0 6px 0 16px; border-right: 1px solid #e5e7eb; flex-shrink: 0; }
.pr-search__seg--suburb{ flex: 1; padding: 0 12px 0 20px; min-width: 0; }
.pr-search__seg--adv   { border-left: 1px solid #e5e7eb; padding: 0 6px 0 14px; flex-shrink: 0; }
.pr-search__seg--submit{ padding-left: 6px; flex-shrink: 0; }

/* Controls inside pill — borderless, transparent, override Flatsome */
.pr-search__seg select,
.pr-search__seg input {
    border: 0 !important; background-color: transparent !important; outline: none !important;
    font-size: 15px; color: #373D40; padding: 8px 26px 8px 0; appearance: none; cursor: pointer;
    font-weight: 500;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23373D40' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 4px center;
}
.pr-search__seg input  { background-image: none !important; padding: 8px 0 !important; font-weight: 400; font-size: 14px; width: 100%; }
.pr-search__seg input::placeholder { color: #9ca3af; font-weight: 400; opacity: 1; }
.pr-search__seg select:focus,
.pr-search__seg input:focus { outline: none !important; box-shadow: none !important; border: 0 !important; }

/* Advanced toggle button */
.pr-search__adv-toggle { display: inline-flex !important; align-items: center; gap: 6px; background: none !important;
    border: 0 !important; cursor: pointer; font-size: 13px; font-weight: 500; color: #373D40;
    padding: 8px 10px !important; transition: color .15s; white-space: nowrap; line-height: 1 !important; }
.pr-search__adv-toggle svg { width: 14px; height: 14px; transition: transform .25s; flex-shrink: 0; }
.pr-search__adv-toggle.is-open svg { transform: rotate(180deg); }
.pr-search__adv-toggle:hover,
.pr-search__adv-toggle.is-open { color: var(--pr-red); }

/* Search button — match reference: 48px tall, normal case, pill, 16px Poppins regular */
.pr-search__btn {
    display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
    padding: 6px 26px !important; height: 48px !important; min-height: 48px !important;
    background: var(--pr-red) !important; color: #fff !important; border: 0 !important;
    border-radius: 50px !important;
    font-weight: 400 !important; font-size: 16px !important; line-height: 1 !important;
    letter-spacing: 0 !important; text-transform: none !important;
    cursor: pointer; transition: background .15s; white-space: nowrap;
}
.pr-search__btn svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; }
.pr-search__btn:hover { background: #e53e48 !important; }

/* Advanced panel */
.pr-search__adv { display: none; border-top: 1px solid #f0f0f0; padding: 14px 20px 18px;
    gap: 10px; flex-wrap: wrap; background: #fff; border-radius: 0 0 50px 50px; }
.pr-search__adv.is-open { display: flex; }
.pr-search__adv-field { flex-shrink: 0; }
.pr-search__adv-sel { border: 1.5px solid #e5e7eb; border-radius: 50px; padding: 9px 36px 9px 18px;
    font-size: .88rem; font-weight: 500; color: var(--pr-charcoal); cursor: pointer; appearance: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center;
    transition: border-color .15s; min-width: 130px; }
.pr-search__adv-sel:focus { outline: none; border-color: var(--pr-red); }
.pr-search__adv-sel[data-selected="true"] { border-color: var(--pr-red); color: var(--pr-red); }

/* Responsive */
@media(max-width: 768px) {
	.pr-newsletter-wrap .wpcf7-form p {
    display: block !important;
}
	.wpcf7 span.wpcf7-form-control-wrap {
    margin-right: 0;
}

	.pr-search__seg.pr-search__seg--adv {
    display: none;
}
    .pr-search__seg--dept { display: none; }
    .pr-search__seg--lt   { border-right: none; }
    .pr-search__seg--suburb { padding-left: 16px; }
    .pr-search__btn { padding: 13px 20px; }
}
@media(max-width: 480px) {
    .pr-search__pill { padding-left: 0; }
    .pr-search__adv-sel { min-width: 100px; }
}

/* ── Archive page ── */
.pr-archive { padding: 0 0 60px; }
.pr-archive__search-bar { background: var(--pr-charcoal); padding: 52px 0 44px; }
.pr-archive__title { color: #fff; text-align: center; font-size: clamp(2rem, 4vw, 3.2rem); margin: 0 0 32px; font-weight: 700; letter-spacing: -.02em; }
.pr-archive__title em { color: var(--pr-red); font-style: italic; font-weight: 700; font-family: 'Source Serif 4', Georgia, serif; }
.pr-archive__inner { padding-top: 24px; }
.pr-archive__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.pr-archive__count { margin: 0; color: var(--pr-grey); font-size: .9rem; }
.pr-archive__controls { display: flex; align-items: center; gap: 16px; }
.pr-archive__sort { display: flex; align-items: center; gap: 8px; font-size: .9rem; }
.pr-archive__sort select { padding: 6px 10px; border: 1px solid #e5e7eb; border-radius: 6px; }
.pr-grid-toggle { display: flex; align-items: center; gap: 4px; }
.pr-grid-btn { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1.5px solid #e5e7eb; border-radius: 6px; background: #fff; color: #9ca3af; cursor: pointer; transition: border-color .15s, color .15s, background .15s; padding: 0; }
.pr-grid-btn:hover { border-color: var(--pr-red); color: var(--pr-red); }
.pr-grid-btn.active { border-color: var(--pr-red); background: var(--pr-red); color: #fff; }
.pr-pagination { margin-top: 40px; display: flex; justify-content: center; gap: 6px; }
.pr-pagination .page-numbers {
    padding: 8px 14px; border: 1px solid #e5e7eb; border-radius: 6px;
    text-decoration: none; color: var(--pr-charcoal); font-size: .9rem;
    transition: background .15s;
}
.pr-pagination .page-numbers.current,
.pr-pagination .page-numbers:hover { background: var(--pr-red); color: #fff; border-color: var(--pr-red); }
.pr-listing-tabs { display: flex; gap: 2px; background: #f3f4f6; padding: 4px; border-radius: 10px; margin-bottom: 20px; width: fit-content; }
.pr-listing-tab { padding: 7px 20px; border-radius: 7px; text-decoration: none; color: var(--pr-charcoal); font-size: .9rem; font-weight: 500; transition: all .15s; }
.pr-listing-tab:hover { color: var(--pr-red); }
.pr-listing-tab.active { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.1); color: var(--pr-red); font-weight: 700; }
.pr-no-results { color: var(--pr-grey); padding: 60px 40px; text-align: center; grid-column: 1 / -1; }
.pr-no-results p { margin-bottom: 16px; font-size: 1rem; }
.pr-btn--outline { display: inline-block; padding: 10px 24px; border: 2px solid var(--pr-red); color: var(--pr-red); border-radius: 6px; text-decoration: none; font-weight: 600; font-size: .9rem; transition: all .15s; }
.pr-btn--outline:hover { background: var(--pr-red); color: #fff; }

/* ── Property single ── */
.pr-single { padding: 0 0 60px; }
.pr-breadcrumb { background: var(--pr-light); padding: 12px 0; font-size: .85rem; color: var(--pr-grey); }
.pr-breadcrumb a { color: var(--pr-charcoal); text-decoration: none; }
.pr-breadcrumb a:hover { color: var(--pr-red); }
.pr-breadcrumb span { margin: 0 6px; }
.pr-single__layout { display: grid; grid-template-columns: 1fr 360px; gap: 32px; padding-top: 24px; }
@media (max-width: 1024px) { .pr-single__layout { grid-template-columns: 1fr; } }

/* Gallery */
.pr-gallery { margin-bottom: 24px; }
.pr-gallery__main { position: relative; border-radius: var(--pr-radius); overflow: hidden; }
.pr-gallery__main img { width: 100%; height: 520px; object-fit: cover; display: block; }
@media (max-width: 1024px) { .pr-gallery__main img { height: 400px; } }
@media (max-width: 768px) { .pr-gallery__main img { height: 260px; } }
/* Badge on single property gallery */
.pr-gallery__main .pr-badge { position: absolute; top: 14px; right: 14px; z-index: 2; font-size: .8rem; padding: 5px 14px; }
.pr-gallery__count { position: absolute; bottom: 10px; right: 10px; background: rgba(0,0,0,.5); color: #fff; padding: 4px 10px; border-radius: 20px; font-size: .8rem; }
.pr-gallery__thumbs { display: flex; gap: 8px; margin-top: 8px; overflow-x: auto; padding-bottom: 4px; }
.pr-gallery__thumb { border: 2px solid transparent; border-radius: 4px; padding: 0; cursor: pointer; background: none; overflow: hidden; flex-shrink: 0; }
.pr-gallery__thumb img { width: 96px; height: 72px; object-fit: cover; display: block; }
.pr-gallery__thumb.is-active { border-color: var(--pr-red); }

/* Title row */
.pr-single__title-row { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; padding-top: 20px; }
.pr-single__address { font-size: clamp(1.3rem, 2.5vw, 1.75rem); font-weight: 700; margin: 0 0 4px; line-height: 1.2; }
.pr-single__suburb { color: var(--pr-grey); margin: 0; font-size: .95rem; }
.pr-single__price { font-size: clamp(1.3rem, 2.5vw, 1.75rem); font-weight: 700; color: var(--pr-red); white-space: nowrap; text-align: right; }
.pr-single__price + .pr-card__sold-date { text-align: right; display: block; margin-top: 4px; font-size: .82rem; color: var(--pr-grey); }

/* Stats */
.pr-single__stats { display: flex; gap: 20px; padding: 16px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; margin-bottom: 24px; }
.pr-stat { text-align: center; }
.pr-stat__val { display: block; font-size: 1.4rem; font-weight: 700; color: var(--pr-charcoal); }
.pr-stat__lbl { font-size: .75rem; color: var(--pr-grey); text-transform: uppercase; letter-spacing: .4px; }

/* Features */
.pr-single__features { margin: 24px 0; }
.pr-single__features h2 { font-size: 1.1rem; margin-bottom: 12px; }
.pr-features-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px,1fr)); gap: 8px; list-style: none; margin: 0; padding: 0; }
.pr-features-list li { padding: 8px 12px; background: var(--pr-light); border-radius: 6px; font-size: .9rem; }
.pr-features-list li::before { content: '✓ '; color: var(--pr-red); font-weight: 700; }

/* Inspections */
.pr-single__inspections { margin: 24px 0; }
.pr-single__inspections h2 { font-size: 1.1rem; margin-bottom: 12px; }
.pr-inspections-list { list-style: none; margin: 0; padding: 0; }
.pr-inspection-item { padding: 10px 16px; background: #fff3cd; border-left: 4px solid #f59e0b; border-radius: 4px; margin-bottom: 8px; font-size: .9rem; }

/* Map */
.pr-single__map { margin: 24px 0; }
.pr-single__map h2 { font-size: 1.1rem; margin-bottom: 12px; }
#pr-map { border-radius: var(--pr-radius); overflow: hidden; }

/* Enquiry sidebar */
.pr-single__sidebar { position: relative; }
.pr-single__enquiry-panel { background: #fff; border-radius: var(--pr-radius); box-shadow: var(--pr-shadow); padding: 20px; position: sticky; top: 80px; }
.pr-agent-mini { display: flex; gap: 12px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #f0f0f0; }
.pr-agent-mini:last-of-type { border-bottom: none; }
.pr-agent-mini__img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.pr-agent-mini__name { font-weight: 700; font-size: .95rem; text-decoration: none; color: var(--pr-charcoal); display: block; }
.pr-agent-mini__name:hover { color: var(--pr-red); }
.pr-agent-mini__title { font-size: .8rem; color: var(--pr-grey); margin: 2px 0; }
.pr-agent-mini__phone { font-size: .9rem; color: var(--pr-red); text-decoration: none; font-weight: 600; }
.pr-enquiry-form-wrap h3 { font-size: 1rem; margin-bottom: 12px; }

/* ── Agent directory ── */
.pr-team { padding: 88px 0 120px; background: #fff; }
.pr-team__title { text-align: center; margin: 0 0 58px; font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 700; color: var(--pr-charcoal); }
.pr-team__title em { color: var(--pr-red); font-style: italic; font-weight: 700; margin-left: 8px; }
.pr-team__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 42px; align-items: start; }
@media (max-width: 1024px) { .pr-team__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .pr-team__grid { grid-template-columns: 1fr; } }
.pr-agent-card { background: #f7f4ee; border-radius: 0; box-shadow: none; overflow: hidden; transition: transform .2s; }
.pr-agent-card:hover { transform: translateY(-3px); }
.pr-agent-card__img-wrap { display: block; aspect-ratio: 4/5; overflow: hidden; background: #ece7dc; }
.pr-agent-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.pr-agent-card__no-img { width: 100%; height: 100%; background: var(--pr-cream); }
.pr-agent-card__info { position: relative; margin-top: -46px; padding: 68px 18px 24px; background: #f7f4ee; clip-path: polygon(0 46px, 100% 0, 100% 100%, 0 100%); min-height: 190px; }
.pr-agent-card__name { font-size: 1.08rem; margin: 0 0 4px; line-height: 1.3; }
.pr-agent-card__name a { color: var(--pr-red); text-decoration: none; font-family: "Source Serif 4", Georgia, serif; font-style: italic; font-weight: 700; }
.pr-agent-card__name a:hover { color: var(--pr-red); }
.pr-agent-card__title { font-size: .78rem; color: var(--pr-charcoal); margin: 0 0 14px; min-height: 34px; }
.pr-agent-card__phone { display: block; color: var(--pr-charcoal); text-decoration: none; font-weight: 500; font-size: .82rem; padding-top: 10px; border-top: 1px solid rgba(55,61,64,.16); }
.pr-agent-card__email { display: block; color: var(--pr-grey); text-decoration: none; font-size: .85rem; }
.pr-agent-card .pr-btn--outline { border: 0; padding: 0 !important; margin-top: 8px !important; color: var(--pr-charcoal); font-size: .82rem !important; font-weight: 500; }
.pr-agent-card .pr-btn--outline:hover { background: transparent; color: var(--pr-red); }

/* ── Agent detail ── */
.pr-agent-detail { padding: 40px 0 60px; }
.pr-agent-detail__hero { display: flex; gap: 40px; margin-bottom: 32px; align-items: flex-start; }
@media (max-width: 640px) { .pr-agent-detail__hero { flex-direction: column; } }
.pr-agent-detail__photo { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; object-position: top; flex-shrink: 0; border: 4px solid var(--pr-cream); box-shadow: 0 4px 20px rgba(0,0,0,.12); }
.pr-agent-detail__name { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 4px; font-weight: 700; }
.pr-agent-detail__title { color: var(--pr-red); margin: 0 0 12px; font-weight: 600; font-size: .95rem; }
.pr-agent-detail__contact { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; align-items: center; }
.pr-agent-detail__phone { color: var(--pr-red); text-decoration: none; font-weight: 700; font-size: 1.1rem; }
.pr-agent-detail__email { color: var(--pr-charcoal); text-decoration: none; font-size: .9rem; }
.pr-agent-detail__languages { font-size: .9rem; color: var(--pr-charcoal); margin: 0 0 6px; }
.pr-agent-detail__spec { font-size: .9rem; color: var(--pr-charcoal); margin: 0 0 12px; }
.pr-agent-detail__rating { display: flex; align-items: center; gap: 4px; margin-top: 12px; }
.pr-star { font-size: 1.4rem; color: #e5e7eb; }
.pr-star.is-filled { color: #f59e0b; }
.pr-agent-detail__rating-val { font-size: .85rem; color: var(--pr-grey); margin-left: 4px; }

/* Stats bar */
.pr-agent-detail__stats { display: flex; gap: 0; background: var(--pr-charcoal); border-radius: 0; padding: 24px 0; margin-bottom: 36px; flex-wrap: wrap; }
.pr-agent-stat { flex: 1; min-width: 120px; text-align: center; padding: 12px 20px; border-right: 1px solid rgba(255,255,255,.15); }
.pr-agent-stat:last-child { border-right: none; }
.pr-agent-stat__val { display: block; font-size: 2rem; font-weight: 800; color: #fff; line-height: 1; margin-bottom: 6px; }
.pr-agent-stat__lbl { font-size: .72rem; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .5px; }

/* Bio */
.pr-agent-detail__bio { max-width: 800px; margin-bottom: 40px; line-height: 1.75; color: #444; }

/* Tabs */
.pr-tabs { display: flex; gap: 0; border-bottom: 2px solid #e5e7eb; margin-bottom: 20px; }
.pr-tab { padding: 10px 24px; border: none; background: none; cursor: pointer; font-weight: 600; color: var(--pr-grey); border-bottom: 3px solid transparent; margin-bottom: -2px; transition: color .15s, border-color .15s; }
.pr-tab.is-active { color: var(--pr-red); border-bottom-color: var(--pr-red); }
.pr-tab-panel { display: none; }
.pr-tab-panel.is-active { display: block; }

/* Reviews */
.pr-agent-detail__reviews { margin-top: 48px; }
.pr-agent-detail__reviews h2 { font-size: 1.2rem; margin-bottom: 20px; }

/* ── Enquiry form ── */
.pr-form { display: flex; flex-direction: column; gap: 12px; }
.pr-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pr-form__row--thirds { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 640px) { .pr-form__row, .pr-form__row--thirds { grid-template-columns: 1fr; } }
.pr-alert-form__section-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #FF4853; margin: 8px 0 0; padding-bottom: 6px; border-bottom: 1px solid #ffe4e6; }
.pr-form__field { display: flex; flex-direction: column; gap: 4px; }
.pr-form__field label { font-size: .8rem; font-weight: 600; color: var(--pr-grey); text-transform: uppercase; letter-spacing: .4px; }
.pr-form__field input,
.pr-form__field textarea,
.pr-form__field select { padding: 9px 12px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: .9rem; width: 100%; }
.pr-form__field input:focus,
.pr-form__field textarea:focus { outline: 2px solid var(--pr-red); border-color: var(--pr-red); }
.pr-form__field textarea { resize: vertical; min-height: 100px; }
.pr-form__submit { padding: 13px 24px; background: var(--pr-red); color: #fff; border: none; border-radius: 6px; font-weight: 700; cursor: pointer; transition: background .15s; width: 100%; font-size: .95rem; text-transform: uppercase; letter-spacing: .04em; }
.pr-form__submit:hover { background: #e53e48; }
.pr-form__msg { padding: 10px 14px; border-radius: 6px; font-size: .9rem; }
.pr-form__msg--success { background: #d1fae5; color: #065f46; }
.pr-form__msg--error   { background: #fee2e2; color: #991b1b; }
.pr-honeypot { display: none !important; }

/* ── Diagonal Hero Banner ── */
.pr-hero-diagonal {
    position: relative;
    width: 100%;
    min-height: 650px;
    background-color: var(--pr-charcoal);
    overflow: visible; /* To allow pill search to overflow */
    display: flex;
    align-items: center;
}
.pr-hero-diagonal__bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 65%;
    height: 100%;
    background-size: cover;
    background-position: center;
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 1;
}
.pr-hero-diagonal__content {
    position: relative;
    z-index: 2;
    padding: 0 8%;
    max-width: 800px;
}
.pr-hero-diagonal__title {
    font-family: 'Source Serif 4', serif;
    font-size: 4.5rem;
    color: #fff;
    line-height: 1.1;
    margin: 0;
}
.pr-hero-diagonal__subtitle {
    font-family: 'Source Serif 4', serif;
    font-size: 4.5rem;
    color: var(--pr-red);
    font-style: italic;
    line-height: 1.1;
    margin: 0 0 30px 0;
}
.pr-hero-diagonal__buttons {
    display: flex;
    gap: 16px;
}
.pr-hero-btn {
    padding: 14px 32px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    font-family: 'Poppins', sans-serif;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all .2s;
}
.pr-hero-btn--red { background: var(--pr-red); color: #fff; }
.pr-hero-btn--red:hover { background: #e53e48; color: #fff; }
.pr-hero-btn--gray { background: #e5e7eb; color: var(--pr-charcoal); }
.pr-hero-btn--gray:hover { background: #d1d5db; color: var(--pr-charcoal); }

@media (max-width: 768px) {
    .pr-hero-diagonal { min-height: 500px; }
    .pr-hero-diagonal__bg { width: 100%; clip-path: none; opacity: 0.3; }
    .pr-hero-diagonal__title, .pr-hero-diagonal__subtitle { font-size: 3rem; }
    .pr-search {
               display: inline-block;
        width: 100%;
        max-width: 80%;
        min-height: 0;
        border-radius: 14px;
        padding: 4px;
    }
    .pr-search--hero { position: relative; bottom: auto; left: auto; transform: none; width: 100%; }
    .pr-search__row { display: grid; grid-template-columns: 1fr; gap: 10px; }
    .pr-search__field { border-right: none; border-bottom: 1px solid #e5e7eb; width: 100%; height: auto; min-height: 42px; padding: 0; }
    .pr-search__field--submit { border-bottom: none; padding: 0; }
    .pr-search__btn { margin: 8px 0 0 0; width: 100%; justify-content: center; }
    .pr-search__more { display: block; width: 100%; margin-top: 8px; }
    .pr-search__extras { display: grid; grid-template-columns: 1fr; gap: 10px; padding-top: 10px; }
}

/* Single property sidebar */
.pr-single__sidebar {
    position: sticky;
    top: 120px;
}

/* ── Agent Directory (shortcode grid wrapper) ── */
.pr-agent-dir { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; align-items: start; }
@media (max-width: 1024px) { .pr-agent-dir { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .pr-agent-dir { grid-template-columns: 1fr; } }

/* Agent card CTA link */
.pr-agent-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 14px;
    font-size: .78rem;
    font-weight: 600;
    color: var(--pr-charcoal);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.pr-agent-card__cta:hover { color: var(--pr-red); }
.pr-agent-card__cta svg { transition: transform .2s; }
.pr-agent-card__cta:hover svg { transform: translateX(3px); }

/* Languages tag */
.pr-agent-card__langs {
    display: block;
    font-size: .72rem;
    color: var(--pr-grey);
    margin-top: 6px;
    opacity: .8;
}

/* ── Open Homes ── */
.pr-oh-tabs { display: flex; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; }
.pr-oh-tab { padding: 8px 20px; border: 1.5px solid #e5e7eb; border-radius: 20px; font-size: .875rem; font-weight: 600; color: #555; text-decoration: none; transition: border-color .15s, color .15s, background .15s; }
.pr-oh-tab:hover { border-color: #FF4853; color: #FF4853; }
.pr-oh-tab--active { border-color: #FF4853; background: #FF4853; color: #fff; }

/* Date group header — "Tuesday 26th May": day=normal, date=bold red Source Serif */
.pr-open-homes__day { margin-bottom: 40px; }
.pr-open-homes__date { font-size: 1.2rem; font-weight: 400; color: #373D40; margin-bottom: 14px; }
.pr-open-homes__date em { font-weight: 700; font-style: italic; color: #CC3333; font-family: 'Source Serif 4', Georgia, serif; margin-left: 4px; }

/* Card — image left, details right, matching reference */
.pr-oh-card { display: flex; gap: 0; background: #f2ede5; border-radius: 2px; overflow: hidden; margin-bottom: 12px; text-decoration: none; color: inherit; border: 1px solid #e8e2d8; transition: box-shadow .15s; }
.pr-oh-card:hover { box-shadow: 0 3px 16px rgba(0,0,0,.12); }

.pr-oh-card__thumb { width: 260px; min-height: 190px; flex-shrink: 0; position: relative; overflow: hidden; }
.pr-oh-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.pr-oh-card__no-img { width: 100%; height: 100%; background: #d5cfc5; }

.pr-oh-card__body { flex: 1; padding: 18px 24px 14px; display: flex; flex-direction: column; gap: 3px; }
.pr-oh-card__address { font-size: 1rem; font-weight: 700; color: #1a1a1a; margin: 0 0 2px; }
.pr-oh-card__location { font-size: .9rem; font-style: italic; color: #CC3333; font-family: 'Source Serif 4', Georgia, serif; margin: 0 0 10px; }

/* Each event: label on its own line, then time+icon on next */
.pr-oh-card__events { display: flex; flex-direction: column; gap: 6px; }
.pr-oh-card__event { display: flex; flex-direction: column; gap: 1px; }
.pr-oh-card__event-type { font-size: .78rem; font-weight: 700; color: #CC3333; text-transform: none; }
.pr-oh-card__event-type--auction { color: #990000; }
.pr-oh-card__event-row { display: flex; align-items: center; gap: 6px; }
.pr-oh-card__event-detail { font-size: .8rem; color: #555; }
.pr-oh-card__cal-icon { color: #bbb; flex-shrink: 0; }

.pr-oh-card__divider { border: none; border-top: 1px solid #ddd8cf; margin: 10px 0 8px; }

.pr-oh-card__stats { display: flex; align-items: center; gap: 10px; font-size: .85rem; color: #555; }
.pr-oh-card__stat { display: flex; align-items: center; gap: 4px; }
.pr-oh-card__stat svg { color: #888; flex-shrink: 0; }
.pr-oh-card__sep { color: #ccc; font-size: .75rem; }

@media (max-width: 640px) {
    .pr-oh-card { flex-direction: column; }
    .pr-oh-card__thumb { width: 100%; min-height: 200px; position: relative; height: 200px; }
}

/* ── Auctions Calendar ── */
.pr-auctions { display: flex; flex-direction: column; gap: 0; }
.pr-auction-item { display: grid; grid-template-columns: 160px 1fr auto; align-items: center; gap: 20px; padding: 18px 20px; border-bottom: 1px solid #eee; background: #fff; transition: background .15s; }
.pr-auction-item:first-child { border-top: 2px solid #FF4853; }
.pr-auction-item:hover { background: #fdf9f9; }
.pr-auction-item__datetime { display: flex; flex-direction: column; gap: 2px; }
.pr-auction-item__datetime strong { font-size: .95rem; font-weight: 700; color: #373D40; }
.pr-auction-item__datetime span { font-size: .85rem; color: #FF4853; font-weight: 600; }
.pr-auction-item__property a { font-weight: 600; color: #1a1a1a; text-decoration: none; font-size: 1rem; }
.pr-auction-item__property a:hover { color: #FF4853; }
.pr-auction-item__venue { font-size: .8rem; color: #777; margin: 3px 0 0; }
.pr-auction-item__ical .button { background: transparent; border: 1.5px solid #FF4853; color: #FF4853; padding: 6px 14px; border-radius: 4px; font-size: .8rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s; }
.pr-auction-item__ical .button:hover { background: #FF4853; color: #fff; }
@media (max-width: 640px) { .pr-auction-item { grid-template-columns: 1fr; gap: 8px; } .pr-auction-item__ical { text-align: left; } }

/* ── Appraisal Form ── */
.pr-appraisal-form-wrap .pr-form__submit { background: #FF4853; color: #fff; border: none; padding: 14px 32px; font-size: 1rem; font-weight: 700; border-radius: 4px; cursor: pointer; width: 100%; margin-top: 8px; }
.pr-appraisal-form-wrap .pr-form__submit:hover { background: #d93840; }

/* ── Hide Flatsome default topbar ── */
.top-bar { display: none !important; }

/* ── Archive page: pill-shape search bar ── */
.archive-pr_property .pr-search--hero,
.archive-pr_property .pr-search--sidebar,
.pr-archive__search-bar .pr-search {
    border-radius: 50px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.18) !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}
/* Hide extra filters details in archive search bar */
.pr-archive__search-bar .pr-search__more { display: none !important; }
.flatsome-search-wrap { display: none; }

/* Autocomplete */
.pr-autocomplete-wrap { position: relative; }
.pr-autocomplete-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 100;
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 250px;
    overflow-y: auto;
}
.pr-autocomplete-results li {
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
}
.pr-autocomplete-results li:hover { background: #faf9f6; color: var(--pr-red); }

/* AJAX Spinner Overlay */
.pr-grid-spinner {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(255,255,255,0.7);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pr-spinner-icon {
    width: 40px; height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--pr-red);
    border-radius: 50%;
    animation: pr-spin 1s linear infinite;
}
@keyframes pr-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Map Markers */
.pr-marker-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.pr-marker-dot {
    width: 14px;
    height: 14px;
    background: #fff;
    border: 3px solid var(--pr-charcoal);
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    transition: all 0.2s;
}
.pr-marker-active .pr-marker-dot {
    border-color: var(--pr-red);
    transform: scale(1.3);
}
.pr-map-popup { text-align: center; }
.pr-map-popup img { width: 100%; height: auto; border-radius: 4px; margin-bottom: 8px; }
.pr-map-popup strong { display: block; font-size: 1.2rem; color: var(--pr-red); margin-bottom: 4px; }
.pr-map-popup p { margin: 0 0 8px; font-size: 0.9rem; }
.pr-map-popup a { display: inline-block; background: var(--pr-charcoal); color: #fff; padding: 4px 12px; border-radius: 4px; text-decoration: none; font-size: 0.85rem; }

/* Home Tabs */
.pr-home-tabs__nav {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
}
.pr-home-tabs__btn {
    background: transparent;
    border: 2px solid var(--pr-charcoal);
    color: var(--pr-charcoal);
    padding: 8px 26px;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.25s;
}
.pr-home-tabs__btn.is-active, .pr-home-tabs__btn:hover {
    background: var(--pr-red);
    border-color: var(--pr-red);
    color: #fff;
}
.pr-home-tabs__pane {
    display: none;
}
.pr-home-tabs__pane.is-active {
    display: block;
    animation: fadeUp 0.4s ease forwards;
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Scroll Animations */
.pr-animate-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.pr-animate-up.pr-animated {
    opacity: 1;
    transform: translateY(0);
}
.pr-counter {
    font-variant-numeric: tabular-nums;
}


/* ===================================================================== */
/*  Home Hero — Flatsome [section class="pr-section-hero"]               */
/*  Charcoal bg; ::before = photo inset 40px with diagonal clip-path.    */
/*  Content at bottom-left via section-content flex; pill buttons.       */
/* ===================================================================== */
.pr-section-hero.section {
    position: relative !important;
    overflow: hidden !important;
    background-color: var(--pr-charcoal) !important;
    isolation: isolate;
    padding: 0 !important;
}
/* Photo layer — inset 40px, diagonal clip cuts bottom-left triangle */
.pr-section-hero.section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 40px;
    right: 40px;
    bottom: 40px;
    background-image: url('https://tarikrealestate.reviewuytin.com/wp-content/uploads/2026/05/banner-home.png');
    background-size: cover;
    background-position: center;
    background-color: #6b7178;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 80px));
    z-index: 0;
    pointer-events: none;
}
/* section-content must fill section height so content aligns to bottom */
.pr-section-hero .section-content {
    position: relative;
    z-index: 1;
    min-height: 818px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
/* Row at bottom with left+bottom padding; left-align the 7-col block */
.pr-section-hero .row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 40px 60px !important;
    box-sizing: border-box;
    justify-content: flex-start !important;
}
/* h1 */
.pr-hero-title {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 4rem !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    color: #fff !important;
    margin: 0 !important;
    letter-spacing: -0.01em;
}
.pr-hero-title em {
    color: var(--pr-red) !important;
    font-style: italic;
    font-weight: 600;
    display: block;
    font-family: 'Source Serif 4', Georgia, serif !important;
}
.pr-hero-title br { display: none; }
/* Flatsome [ux_text] wrapper */
.pr-section-hero .ux-text { margin: 0 !important; }
/* Pill buttons */
.pr-hero-btn.button {
        /* display: inline-flex !important; */
    /* align-items: center !important; */
    /* justify-content: center !important; */
    /* height: 48px !important; */
    min-height: 48px !important;
    padding: 6px 26px !important;
    /* font-family: 'Poppins', system-ui, sans-serif !important; */
    /* font-weight: 500 !important; */
    /* font-size: 15px !important; */
    /* line-height: 1 !important; */
    /* letter-spacing: 0 !important; */
    /* text-transform: none !important; */
    /* text-decoration: none !important; */
    /* white-space: nowrap; */
    /* cursor: pointer; */
    margin: 0 !important;
    box-shadow: none !important;
    /* vertical-align: middle; */
    /* transition: background-color .15s, color .15s; */
    padding-right: 8px !important;
}
.pr-hero-btn--red.button,
.pr-hero-btn--red.button:link,
.pr-hero-btn--red.button:visited {
    background: var(--pr-red) !important;
    color: #fff !important;
    border: 0 !important;
	    display: inline-flex;
    align-items: center;
	gap:8px;
}
.pr-hero-btn--red.button:hover { background: #e53e48 !important; color: #fff !important; }
.pr-hero-btn--cream.button,
.pr-hero-btn--cream.button:link,
.pr-hero-btn--cream.button:visited {
    background: #ECE7DC !important;
    color: var(--pr-charcoal) !important;
    border: 0 !important;
}
.pr-hero-btn--cream.button:hover { background: #ddd6c0 !important; }
.pr-hero-btn.button + .pr-hero-btn.button { margin-left: 8px !important; }
/* Search form wrap */
.pr-section-hero .pr-search-wrap--hero {
    width: max-content;
    max-width: 920px;
    padding: 0;
    margin: 0;
}
/* Strip wpautop garbage */
.pr-section-hero p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}
@media (max-width: 1024px) {
    .pr-section-hero.section::before { left: 24px; right: 24px; bottom: 24px; }
    .pr-section-hero .section-content { min-height: 600px; }
}
@media (max-width: 849px) {
    .pr-section-hero.section::before { left: 16px; right: 16px; bottom: 16px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 40px)); }
    .pr-section-hero .section-content { min-height: 500px; }
    .pr-section-hero .row { padding: 0 16px 40px !important; }
    .pr-hero-title { font-size: 2.2rem !important; }
    .pr-hero-btn.button { margin-left: 0 !important; margin-bottom: 8px !important; }
    .pr-hero-btn.button + .pr-hero-btn.button { margin-left: 0 !important; }
}

/* ===================================================================== */
/*  Home: Stats Bar — [section class="pr-stats-section"]                 */
/* ===================================================================== */
.pr-stats-section .pr-stat-col {
    border-right: 1px solid rgba(255,255,255,0.15);
}
.pr-stats-section .pr-stat-col:last-child { border-right: 0; }
.pr-stat-num {
    font-family: 'Source Serif 4', Georgia, serif !important;
    color: #fff !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}
.pr-stat-lbl {
    color: rgba(255,255,255,0.75) !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    letter-spacing: 0.02em;
    margin-top: 4px !important;
}
@media (max-width: 849px) {
    .pr-stats-section .pr-stat-col { border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.15); padding-bottom: 20px !important; }
    .pr-stats-section .pr-stat-col:last-child { border-bottom: 0; }
}

/* ===================================================================== */
/*  Home: Agent / Team Section — [section class="pr-agent-section"]      */
/* ===================================================================== */
.pr-agent-photo-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}
.pr-agent-photo {
    width: 100%;
    height: auto;
    max-height: 480px;
    border-radius: 8px;
    display: block;
    object-fit: cover;
    object-position: center top;
}
.pr-agent-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: var(--pr-red);
    color: #fff;
    padding: 10px 16px;
    border-radius: 6px;
    text-align: center;
    line-height: 1.2;
    font-family: 'Poppins', system-ui, sans-serif;
}
.pr-agent-badge-val {
    display: block;
    font-size: 1rem;
    font-weight: 700;
}
.pr-agent-badge-lbl {
    display: block;
    font-size: 0.72rem;
    font-weight: 500;
    opacity: 0.9;
}
.pr-agent-eyebrow {
    color: var(--pr-red) !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    margin-bottom: 8px !important;
}
.pr-agent-name {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: var(--pr-charcoal) !important;
    margin: 0 0 6px !important;
}
.pr-agent-role {
    color: #6A6D6F !important;
    font-size: 1rem !important;
    margin: 0 !important;
}
.pr-agent-bio {
    color: #4a4f52 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}
.pr-agent-stats-row {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
.pr-agent-stat {
    display: flex;
    flex-direction: column;
}
.pr-agent-stat-val {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--pr-charcoal);
    line-height: 1.1;
}
.pr-agent-stat-lbl {
    font-size: 0.8rem;
    color: #6A6D6F;
    margin-top: 2px;
}
/* Agent section buttons */
.pr-agent-btn-primary.button,
.pr-agent-btn-primary.button:link,
.pr-agent-btn-primary.button:visited {
    background: var(--pr-charcoal) !important;
    color: #fff !important;
    border: 0 !important;
    padding: 12px 28px !important;
}
.pr-agent-btn-primary.button:hover { background: #2c3133 !important; }
.pr-agent-btn-secondary.button,
.pr-agent-btn-secondary.button:link,
.pr-agent-btn-secondary.button:visited {
    background: transparent !important;
    color: var(--pr-charcoal) !important;
    border: 2px solid var(--pr-charcoal) !important;
    padding: 10px 28px !important;
}
.pr-agent-btn-secondary.button:hover { background: var(--pr-charcoal) !important; color: #fff !important; }
.pr-agent-btn-primary.button + .pr-agent-btn-secondary.button { margin-left: 12px !important; }
@media (max-width: 849px) {
    .pr-agent-section .row { flex-direction: column-reverse; }
    .pr-agent-photo-col { margin-bottom: 32px; }
    .pr-agent-btn-primary.button + .pr-agent-btn-secondary.button { margin-left: 0 !important; margin-top: 10px !important; }
}

/* ===================================================================== */
/*  Home: Testimonials — [section class="pr-testimonials-section"]       */
/* ===================================================================== */
.pr-testimonials-section .section-content { max-width: 860px; margin: 0 auto; }
.pr-testimonials-eyebrow {
    color: rgba(255,255,255,0.6) !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    margin-bottom: 12px !important;
}
.pr-testimonials-title {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 !important;
}
.pr-testimonials-title em {
    color: var(--pr-red) !important;
    font-style: italic;
}
/* Strip wpautop in testimonials */
.pr-testimonials-section p:empty {
    display: none !important; margin: 0 !important; padding: 0 !important; height: 0 !important;
}

/* ===================================================================== */
/*  Home: Appraisal CTA — [section class="pr-cta-section"]               */
/* ===================================================================== */
.pr-cta-title {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 !important;
}
.pr-cta-subtitle {
    color: rgba(255,255,255,0.9) !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    max-width: 600px;
    margin: 0 auto !important;
}
.pr-cta-btn.button,
.pr-cta-btn.button:link,
.pr-cta-btn.button:visited {
    background: #fff !important;
    color: var(--pr-red) !important;
    border: 0 !important;
    font-weight: 700 !important;
    padding: 14px 36px !important;
    font-size: 1rem !important;
}

/* ── Welcome / About section ── */
.pr-welcome-section {
    background: var(--pr-cream) !important;
}
.pr-welcome-eyebrow {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--pr-charcoal) !important;
    font-weight: 600 !important;
    opacity: 0.7 !important;
}
.pr-welcome-title {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    color: var(--pr-charcoal) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
.pr-welcome-title em {
    font-style: italic !important;
    color: var(--pr-red) !important;
}
.pr-welcome-desc {
    color: var(--pr-charcoal) !important;
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    opacity: 0.85 !important;
}
.pr-welcome-btn--red.button,
.pr-welcome-btn--red.button:link,
.pr-welcome-btn--red.button:visited {
    background: var(--pr-red) !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: 700 !important;
}
.pr-welcome-btn--dark.button,
.pr-welcome-btn--dark.button:link,
.pr-welcome-btn--dark.button:visited {
    background: var(--pr-charcoal) !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: 600 !important;
}
@media (max-width: 549px) {
    .pr-welcome-title { font-size: 1.8rem !important; }
}

/* ── Browse Properties / Tabs section ── */
.pr-props-eyebrow {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--pr-grey) !important;
    font-weight: 600 !important;
}
.pr-props-title {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    color: var(--pr-charcoal) !important;
    margin: 0 !important;
}
.pr-props-title em {
    font-style: italic !important;
    color: var(--pr-red) !important;
}
/* Tab pills — active = red */
.pr-props-tabs .nav-pills > li > a,
.pr-props-tabs .nav.nav-pills .tab > a {
    background: transparent !important;
    color: var(--pr-charcoal) !important;
    border: 2px solid var(--pr-charcoal) !important;
    border-radius: 99px !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.04em !important;
    padding: 8px 22px !important;
    transition: background 0.2s, color 0.2s !important;
}
.pr-props-tabs .nav-pills > li.active > a,
.pr-props-tabs .nav.nav-pills .tab.active > a,
.pr-props-tabs .nav-pills > li > a:hover,
.pr-props-tabs .nav.nav-pills .tab > a:hover {
    background: var(--pr-red) !important;
    color: #fff !important;
    border-color: var(--pr-red) !important;
}

/* ── Quick Links / Service Panels section ── */
.pr-panels-section > .section-inner {
    padding: 0 !important;
}
.pr-panels-wrap {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(0,0,0,0.07);
}
.pr-panel__item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 22px 40px;
    border-bottom: 1px solid rgba(0,0,0,0.07);
    text-decoration: none !important;
    color: inherit !important;
    background: #fff;
    position: relative;
    transition: background 0.2s, padding-left 0.2s;
    overflow: hidden;
}
.pr-panel__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: var(--pr-red);
    transition: width 0.2s ease;
}
.pr-panel__item:hover::before {
    width: 4px;
}
.pr-panel__item:hover {
    background: var(--pr-cream) !important;
    padding-left: 48px;
    text-decoration: none !important;
}
.pr-panel__icon {
    flex-shrink: 0;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,72,83,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pr-red);
    transition: background 0.2s, border-color 0.2s;
}
.pr-panel__icon svg {
    width: 30px;
    height: 30px;
}
.pr-panel__item:hover .pr-panel__icon {
    background: var(--pr-red);
    border-color: var(--pr-red);
    color: #fff;
}
.pr-panel__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.pr-panel__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--pr-charcoal);
    letter-spacing: 0.02em;
    transition: color 0.2s;
}
.pr-panel__item:hover .pr-panel__title {
    color: var(--pr-red);
}
.pr-panel__desc {
    font-size: 0.85rem;
    color: var(--pr-grey);
    line-height: 1.5;
}
.pr-panel__arrow {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: rgba(0,0,0,0.25);
    transition: color 0.2s, transform 0.2s;
}
.pr-panel__arrow svg {
    width: 20px;
    height: 20px;
}
.pr-panel__item:hover .pr-panel__arrow {
    color: var(--pr-red);
    transform: translate(3px, -3px);
}
@media (max-width: 549px) {
    .pr-panel__item { padding: 18px 20px; }
    .pr-panel__item:hover { padding-left: 26px; }
    .pr-panel__desc { display: none; }
}

/* ── Newsletter section heading + CF7 form styling ── */
.pr-newsletter__heading {
    text-align: center;
    margin-bottom: 36px;
}
.pr-newsletter__eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pr-grey);
    font-weight: 600;
    margin: 0 0 12px;
}
.pr-newsletter__title {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    color: var(--pr-charcoal);
    margin: 0;
    line-height: 1.2;
}
.pr-newsletter__title em {
    color: var(--pr-red);
    font-style: italic;
}
/* CF7 newsletter form — grid layout + red button */
.pr-newsletter-wrap {
    max-width: 900px;
    margin: 0 auto;
}
.pr-newsletter-wrap .wpcf7-form {
    display: flex;
    gap: 12px;
    align-items: stretch;
    max-width: 760px;
    margin: 0 auto;
}
@media (max-width: 700px) {
    .pr-newsletter-wrap .wpcf7-form { flex-direction: column; }
}
.pr-newsletter-wrap .wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    flex: 1;
}
.pr-newsletter-wrap .wpcf7-form p {
    margin: 0;
    flex: 1;
    display: flex;
}
.pr-newsletter-wrap .wpcf7-form .wpcf7-form-control-wrap input {
    width: 100%;
    height: 50px;
    padding: 0 16px;
    border: 1.5px solid #d1cdc1;
    background: #fff;
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.95rem;
    box-sizing: border-box;
    color: var(--pr-charcoal);
}
.pr-newsletter-wrap .wpcf7-form input:focus {
    outline: none;
    border-color: var(--pr-red);
}
.pr-newsletter-wrap .wpcf7-form input[type="submit"] {
    background: var(--pr-red) !important;
    color: #fff !important;
    border: none !important;
    padding: 0 32px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    cursor: pointer;
    white-space: nowrap;
    height: 48px;
    transition: background 0.15s;
    letter-spacing: 0.03em;
    text-transform: none !important;
    flex-shrink: 0;
}
.pr-newsletter-wrap .wpcf7-form input[type="submit"]:hover {
    background: #e53e48 !important;
}
/* Footer contact — replace emoji icons with CSS */
.tpe-footer-contact .tpe-footer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.tpe-footer-contact__line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 10px !important;
    color: rgba(255,255,255,0.8) !important;
    font-size: 0.9rem !important;
}
.tpe-footer-contact__line a {
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
}
.tpe-footer-contact__line a:hover {
    color: #fff !important;
}
/* Footer link list */
.tpe-footer-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.tpe-footer-list li {
    margin-bottom: 10px !important;
}
.tpe-footer-list li a {
    color: rgba(255,255,255,0.65) !important;
    font-size: 0.88rem !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
    line-height: 1.4 !important;
}
.tpe-footer-list li a:hover {
    color: #fff !important;
}
/* Footer column heading */
.tpe-footer-col-heading p,
.tpe-footer-col-heading {
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: 0.02em !important;
}
/* Email Us button — prevent Flatsome uppercasing */
.tpe-email-btn.button,
.tpe-email-btn.button span {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
}

/* ── Interior page hero titles ─────────────────────────────────── */
.tpe-page-hero-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    color: #ffffff;
    line-height: 1.15;
    margin: 0;
}
.tpe-page-hero-title em {
    color: var(--pr-red);
    font-style: italic;
    font-family: 'Source Serif 4', serif;
}

/* ── Service icon circle (Manage/Invest/About pages) ───────────── */
.tpe-service-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255, 72, 83, 0.07);
    border: 1.5px solid rgba(255, 72, 83, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 4px;
    transition: background 0.2s, border-color 0.2s;
}
.tpe-service-icon:hover,
[class*="col"]:hover .tpe-service-icon {
    background: var(--pr-red);
    border-color: var(--pr-red);
}
[class*="col"]:hover .tpe-service-icon svg {
    stroke: #ffffff;
}

/* ── Sell / Manage — service section number badge ───────────────── */
.tpe-sell-num {
    font-size: 6rem;
    font-weight: 800;
    line-height: 1;
    color: rgba(255, 72, 83, 0.1);
    font-family: 'Source Serif 4', serif;
    margin-bottom: -28px;
    display: block;
    user-select: none;
}

/* ── Sell / Manage — feature stat card (right/left col) ─────────── */
.tpe-sell-feature-card {
    background: linear-gradient(145deg, #ffffff 0%, #fff8f8 100%);
    border: 1.5px solid rgba(255, 72, 83, 0.18);
    border-radius: 20px;
    padding: 52px 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 8px 48px rgba(255, 72, 83, 0.07), 0 2px 12px rgba(0,0,0,.04);
    max-width: 360px;
    margin: 0 auto;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.tpe-sell-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 56px rgba(255, 72, 83, 0.12), 0 4px 16px rgba(0,0,0,.06);
}
.tpe-sell-feature-stat {
    font-size: 3rem;
    font-weight: 800;
    color: var(--pr-charcoal);
    margin: 22px 0 8px;
    font-family: 'Source Serif 4', serif;
    line-height: 1;
}
.tpe-sell-feature-label {
    font-size: 0.92rem;
    color: #777;
    margin: 0;
    line-height: 1.5;
    font-weight: 500;
    max-width: 200px;
}

/* ── Sell / Manage — dark reasons grid icon circle ───────────────── */
.tpe-reason-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(255, 72, 83, 0.12);
    border: 1.5px solid rgba(255, 72, 83, 0.35);
    color: #FF4853;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    transition: background 0.2s, border-color 0.2s;
}
.tpe-reason-icon:hover {
    background: var(--pr-red);
    border-color: var(--pr-red);
    color: #fff;
}

/* ── Service section alternating bg divider line ────────────────── */
.section[bg_color="#f8f7f3"] + .section[bg_color="#ffffff"],
.section[bg_color="#ffffff"] + .section[bg_color="#f8f7f3"] {
    border-top: 1px solid #f0ede7;
}

/* ── Mobile: sell/manage service sections ───────────────────────── */
@media (max-width: 849px) {
    .tpe-sell-num { font-size: 4rem; margin-bottom: -20px; }
    .tpe-sell-feature-card { padding: 36px 28px; max-width: 100%; }
    .tpe-sell-feature-stat { font-size: 2.4rem; }
}

/* ── Section headings for listings/sections ────────────────────── */
.tpe-section-heading {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #1f2937;
    line-height: 1.2;
    margin-bottom: 44px;
}
.tpe-section-heading em {
    color: var(--pr-red);
    font-style: italic;
    font-family: 'Source Serif 4', serif;
}
.pr-cta-btn.button:hover { background: #f5f5f5 !important; }

/* ── Feature bullet list (sell/manage/invest service sections) ─── */
.tpe-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}
.tpe-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 1rem;
    color: #444;
    line-height: 1.6;
    margin-bottom: 10px;
    padding-left: 0;
}
.tpe-feature-list li::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 3px;
    background-color: #FF4853;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: center;
}