/* ================================================================
   TDR Condo Communities — Grid + Single Page Styles  v2.3.0
================================================================ */

/* ── Filter bar ─────────────────────────────────────────────── */
.tdr-condo-wrap {
    max-width: 1200px;
    margin: 0 auto;
    font-family: inherit;
}

.tdr-condo-filter-bar {
    display:     flex;
    flex-wrap:   wrap;
    gap:         10px;
    align-items: center;
    margin-bottom: 16px;
}

.tdr-condo-filter-bar input[type="text"],
.tdr-condo-filter-bar select {
    padding:       8px 12px;
    border:        1.5px solid #ddd;
    border-radius: 6px;
    font-size:     14px;
    min-width:     200px;
}
.tdr-condo-filter-bar input[type="text"]:focus,
.tdr-condo-filter-bar select:focus {
    outline:        none;
    border-color:   #c9a551;
}

.tdr-condo-count {
    color:      #666;
    font-size:  13px;
    margin:     0 0 12px;
}

/* ── Grid ───────────────────────────────────────────────────── */
.tdr-condo-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap:                   20px;
}

/* ── Card ───────────────────────────────────────────────────── */
.tdr-condo-card {
    background:    #fff;
    border:        1px solid #e8e8e8;
    border-radius: 10px;
    overflow:      hidden;
    display:       flex;
    flex-direction: column;
    box-shadow:    0 2px 8px rgba(0,0,0,.06);
    transition:    box-shadow .2s, transform .2s;
}
.tdr-condo-card:hover {
    box-shadow:  0 6px 20px rgba(0,0,0,.12);
    transform:   translateY(-2px);
}

.tdr-condo-card-logo {
    padding:         16px 16px 0;
    height:          80px;
    display:         flex;
    align-items:     center;
}
.tdr-condo-card-logo img {
    max-height: 60px;
    max-width:  140px;
    object-fit: contain;
}

.tdr-condo-card-icon {
    font-size:  40px;
    text-align: center;
    padding:    16px 16px 0;
}

.tdr-condo-card-body {
    padding: 12px 16px;
    flex:    1;
}

.tdr-condo-card-name {
    font-size:   17px;
    font-weight: 700;
    margin:      0 0 4px;
    color:       #1a1a1a;
    line-height: 1.3;
}

.tdr-condo-card-address {
    font-size: 13px;
    color:     #666;
    margin:    0 0 6px;
}

.tdr-condo-card-rating {
    display:     flex;
    align-items: center;
    gap:         4px;
    font-size:   13px;
    margin:      0 0 6px;
}
.tdr-stars        { color: #f4a200; letter-spacing: 1px; }
.tdr-rating-num   { font-weight: 700; color: #333; }
.tdr-rating-count { color: #888; }

.tdr-condo-card-nb {
    font-size:  12px;
    color:      #888;
    margin:     0 0 8px;
}

/* Geo row inside card — reuses tdr-geo.css badge/btn styles */
.tdr-condo-geo-row {
    display:     flex;
    align-items: center;
    gap:         8px;
    margin-top:  4px;
    flex-wrap:   wrap;
}

.tdr-condo-card-footer {
    padding:         12px 16px;
    border-top:      1px solid #f0f0f0;
    display:         flex;
    flex-direction:  column;
    gap:             8px;
}

.tdr-condo-view-btn {
    display:          block;
    background:       #c9a551;
    color:            #fff !important;
    text-decoration:  none !important;
    text-align:       center;
    font-size:        13px;
    font-weight:      700;
    padding:          9px 16px;
    border-radius:    6px;
    transition:       background .2s;
}
.tdr-condo-view-btn:hover { background: #a8500a; }

.tdr-condo-phone-btn {
    display:          block;
    text-align:       center;
    font-size:        13px;
    color:            #555 !important;
    text-decoration:  none !important;
    padding:          4px 0;
}
.tdr-condo-phone-btn:hover { color: #c9a551 !important; }

.tdr-condo-no-results {
    text-align:  center;
    color:       #888;
    padding:     40px;
    font-size:   15px;
}

/* ── Card thumbnail (hero photo scaled down) ────────────────── */
.tdr-condo-card-thumb {
    width:        100%;
    height:       180px;
    overflow:     hidden;
}
.tdr-condo-card-thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform .3s;
}
.tdr-condo-card:hover .tdr-condo-card-thumb img {
    transform: scale(1.04);
}

/* ── Single Community Detail Page ───────────────────────────── */
.tdr-condo-detail {
    max-width:   1260px;
    margin:      0 auto;
    font-family: inherit;
}
/* Keep a comfortable gutter off the screen edges at every width below the
   1260px cap (mobile media query tightens this to 16px). */
.tdr-condo-detail-inner { padding: 0 32px; }

/* ── Prevent horizontal overflow from full-bleed viewport trick ── */
body.single-tdr_condo { overflow-x: hidden; }

/* ── Suppress theme title + byline on condo single pages ── */
.single-tdr_condo .entry-header,
.single-tdr_condo .page-header,
.single-tdr_condo h1.entry-title,
.single-tdr_condo .byline,
.single-tdr_condo .posted-on,
.single-tdr_condo .author-info,
.single-tdr_condo .entry-meta,
.single-tdr_condo .tdr-page-title {
    display: none !important;
}

/* ── Hero: full-bleed background with name overlay ── */
.tdr-condo-detail-hero {
    position:    relative;
    width:       100vw;
    margin-left: calc(50% - 50vw);
    height:      480px;
    background:  #12151a center/cover no-repeat;
    margin-bottom: 0;
    overflow:    hidden;
}
.tdr-condo-detail-hero-overlay {
    position: absolute;
    inset:    0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.08) 0%,
        rgba(0,0,0,0.25) 50%,
        rgba(0,0,0,0.78) 100%
    );
}
.tdr-condo-detail-hero-body {
    position:    absolute;
    bottom:      32px;
    left:        40px;
    right:       40px;
    z-index:     2;
}
.tdr-condo-detail-hero-logo {
    max-height:    56px;
    max-width:     160px;
    object-fit:    contain;
    margin-bottom: 10px;
    display:       block;
    filter:        drop-shadow(0 1px 6px rgba(0,0,0,0.6));
}
.tdr-condo-detail-hero-title {
    font-family:  'Playfair Display', serif;
    font-size:    clamp(28px, 4vw, 46px);
    font-weight:  700;
    color:        #fff;
    line-height:  1.15;
    margin:       0 0 6px;
    text-shadow:  0 2px 12px rgba(0,0,0,0.55);
}
.tdr-condo-detail-hero-nb {
    font-family:    'Inter', sans-serif;
    font-size:      13px;
    font-weight:    500;
    color:          rgba(255,255,255,0.82);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-shadow:    0 1px 4px rgba(0,0,0,0.5);
}

/* ── Info bar: single horizontal row, full-width under hero ── */
.tdr-condo-detail-infobar {
    display:       flex;
    align-items:   center;
    flex-wrap:     wrap;
    gap:           0;
    background:    #fff;
    border-bottom: 2px solid #c9a551;
    padding:       10px max(32px, calc((100vw - 1260px) / 2 + 32px));
    margin-bottom: 28px;
    font-size:     13px;
    color:         #333;
    width:         100vw;
    margin-left:   calc(50% - 50vw);
    box-sizing:    border-box;
}
.tdr-condo-infobar-item {
    display:     flex;
    align-items: center;
    gap:         5px;
    white-space: nowrap;
}
.tdr-condo-infobar-sep {
    padding-left:  14px;
    margin-left:   14px;
    border-left:   1px solid #e0c080;
}
.tdr-condo-infobar-muted { color: #888; }
.tdr-condo-infobar-item a,
.tdr-condo-gmaps-link     { color: #c9a551; text-decoration: none; }
.tdr-condo-infobar-item a:hover,
.tdr-condo-gmaps-link:hover { text-decoration: underline; }
.tdr-condo-dir-inline {
    display:         inline-flex;
    align-items:     center;
    gap:             4px;
    background:      #1a2340;
    color:           #fff !important;
    text-decoration: none !important;
    font-size:       12px;
    font-weight:     700;
    padding:         4px 12px;
    border-radius:   5px;
    white-space:     nowrap;
}
.tdr-condo-dir-inline:hover { background: #c9a551; color: #12151a !important; }

/* SMS "Text for Info" button */
.tdr-condo-sms-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             4px;
    background:      #c9a551;
    color:           #12151a !important;
    text-decoration: none !important;
    font-size:       12px;
    font-weight:     700;
    padding:         4px 12px;
    border-radius:   5px;
    white-space:     nowrap;
    border:          none;
    cursor:          pointer;
    font-family:     inherit;
    transition:      background .2s;
}
.tdr-condo-sms-btn:hover { background: #b8923e; }

/* Hide SMS button on desktop — sms: links only work on mobile */
@media (min-width: 768px) {
    .tdr-condo-sms-btn { display: none; }
}

.tdr-condo-dir-btn {
    display:          inline-flex;
    align-items:      center;
    gap:              5px;
    background:       #c9a551;
    color:            #fff !important;
    text-decoration:  none !important;
    font-size:        13px;
    font-weight:      700;
    padding:          7px 16px;
    border-radius:    6px;
    white-space:      nowrap;
    transition:       background .2s;
}
.tdr-condo-dir-btn:hover { background: #a8500a; }

.tdr-condo-gmaps-btn {
    font-size:       13px;
    color:           #555;
    text-decoration: none;
}
.tdr-condo-gmaps-btn:hover { color: #c9a551; }

/* Social links */
.tdr-condo-social {
    display:       flex;
    gap:           12px;
    flex-wrap:     wrap;
    margin-bottom: 20px;
}
.tdr-condo-social a {
    font-size:       13px;
    color:           #555;
    text-decoration: none;
    padding:         5px 12px;
    border:          1px solid #ddd;
    border-radius:   20px;
    transition:      border-color .2s, color .2s;
}
.tdr-condo-social a:hover { border-color: #c9a551; color: #c9a551; }

/* Editorial content from Divi/WP */
.tdr-condo-editorial {
    margin-bottom: 28px;
    line-height:   1.7;
}

/* IDX listings section */
.tdr-condo-listings-section {
    margin-top: 32px;
}
.tdr-condo-listings-heading {
    font-size:     22px;
    font-weight:   700;
    color:         #1a1a1a;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0c080;
}

/* Cap the IDX panel width so listings flow three across, never four —
   the IDX widget picks its column count from its container width. */
.tdr-condo-tab-panel { max-width: 1100px; }

/* Hide inactive tab panel without display:none so IDX iframes still initialise.
   Off-screen absolute (not height:0) so the IDX widget keeps a real width and
   can lay itself out while hidden — height:0 made For Lease render blank. */
.tdr-condo-listings-section { position: relative; }
.tdr-condo-tab-panel--inactive {
    position: absolute;
    left:     -200vw;
    top:      0;
    width:    100%;
}

/* For Sale / For Lease tabs */
.tdr-condo-tabs {
    display:       flex;
    gap:           8px;
    margin-bottom: 20px;
}
.tdr-condo-tab {
    padding:       9px 24px;
    border:        2px solid #c9a551;
    background:    #fff;
    color:         #c9a551;
    font-size:     14px;
    font-weight:   700;
    border-radius: 6px;
    cursor:        pointer;
    transition:    background .2s, color .2s;
}
.tdr-condo-tab-active,
.tdr-condo-tab:hover {
    background: #c9a551;
    color:      #fff;
}

.tdr-condo-listings-coming {
    padding:       24px;
    background:    #f9f9f9;
    border:        1px dashed #ddd;
    border-radius: 8px;
    color:         #888;
    text-align:    center;
    margin-top:    16px;
}
.tdr-condo-listings-coming a { color: #c9a551; }

/* ── "Closest to me" button — reuses .tdr-closest-btn from tdr-places.css;
      these rules handle the case where tdr-places.css isn't loaded ── */
#tdr-condo-closest-btn {
    display:       inline-flex;
    align-items:   center;
    gap:           6px;
    background:    #fff;
    border:        1.5px solid #c9a551;
    color:         #c9a551;
    font-size:     13px;
    font-weight:   700;
    padding:       7px 16px;
    border-radius: 20px;
    cursor:        pointer;
    transition:    background .2s, color .2s;
}
#tdr-condo-closest-btn:hover,
#tdr-condo-closest-btn.tdr-closest-active {
    background: #c9a551;
    color:      #fff;
}

/* ── Listings: full-width single column (nearby-restaurants sidebar removed) ── */
.tdr-condo-listings-grid {
    display:    block;
    margin-top: 8px;
}
.tdr-condo-listings-main { min-width: 0; }

/* Nearby restaurants widget */
.tdr-condo-nearby-widget {
    background:    #fafaf8;
    border:        1px solid #e8dfc8;
    border-radius: 8px;
    padding:       20px 18px;
    position:      sticky;
    top:           24px;
}
.tdr-condo-nearby-title {
    font-size:     15px;
    font-weight:   700;
    color:         #1a2340;
    margin:        0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e8dfc8;
}
.tdr-condo-nearby-list {
    list-style: none;
    margin:     0 0 14px;
    padding:    0;
}
.tdr-condo-nearby-item {
    padding:       10px 0;
    border-bottom: 1px solid #f0e8d4;
}
.tdr-condo-nearby-item:last-child { border-bottom: none; }
.tdr-condo-nearby-name {
    display:         block;
    font-size:       13px;
    font-weight:     600;
    color:           #1a2340;
    text-decoration: none;
    line-height:     1.3;
    margin-bottom:   3px;
}
.tdr-condo-nearby-name:hover { color: #c9a551; }
.tdr-condo-nearby-badge {
    font-size:   11px;
    color:       #c9a551;
    margin-left: 4px;
}
.tdr-condo-nearby-meta {
    display:   flex;
    gap:       8px;
    font-size: 11px;
    color:     #888;
}
.tdr-condo-nearby-cat  { color: #666; }
.tdr-condo-nearby-dist { color: #aaa; white-space: nowrap; }
.tdr-condo-nearby-more {
    display:         block;
    font-size:       12px;
    color:           #c9a551;
    text-decoration: none;
    text-align:      right;
    margin-top:      4px;
}
.tdr-condo-nearby-more:hover { text-decoration: underline; }
.tdr-condo-nearby-empty {
    font-size:  13px;
    color:      #aaa;
    text-align: center;
    padding:    12px 0;
}

/* ── Nearby condo properties section ── */
.tdr-condo-nearby-props {
    margin-top:    48px;
    padding-top:   32px;
    border-top:    2px solid #e8dfc8;
}
.tdr-condo-nearby-props-heading {
    font-family:   'Playfair Display', Georgia, serif;
    font-size:     22px;
    font-weight:   700;
    color:         #1a2340;
    margin:        0 0 24px;
}
.tdr-condo-nearby-props-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   20px;
}
.tdr-condo-prop-card {
    display:         block;
    text-decoration: none;
    border:          1px solid #e8dfc8;
    border-radius:   8px;
    overflow:        hidden;
    background:      #fff;
    transition:      box-shadow .2s, transform .2s;
}
.tdr-condo-prop-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,.10);
    transform:  translateY(-2px);
}
.tdr-condo-prop-card-img {
    width:           100%;
    height:          160px;
    background:      #1a2340 center/cover no-repeat;
    display:         flex;
    align-items:     center;
    justify-content: center;
}
.tdr-condo-prop-card-noimg { font-size: 40px; opacity: .4; }
.tdr-condo-prop-card-body  { padding: 14px 16px; }
.tdr-condo-prop-card-name  {
    font-size:   14px;
    font-weight: 700;
    color:       #1a2340;
    line-height: 1.3;
    margin-bottom: 4px;
}
.tdr-condo-prop-card:hover .tdr-condo-prop-card-name { color: #c9a551; }
.tdr-condo-prop-card-hood {
    font-size:     11px;
    color:         #888;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 6px;
}
.tdr-condo-prop-card-dist {
    font-size: 11px;
    color:     #c9a551;
    font-weight: 600;
}

/* ── Featured services three-column strip ── */
.tdr-condo-feat-strip {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   32px;
    margin-top:            48px;
    padding-top:           32px;
    border-top:            2px solid #e8dfc8;
}
.tdr-condo-feat-col-header {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom:  2px solid #c9a551;
}
.tdr-condo-feat-col-label {
    font-size:      11px;
    font-weight:    700;
    letter-spacing: .1em;
    color:          #c9a551;
    text-transform: uppercase;
}
.tdr-condo-feat-list {
    list-style: none;
    margin:     0;
    padding:    0;
}
.tdr-condo-feat-item {
    padding:       8px 0;
    border-bottom: 1px solid #f0e8d4;
}
.tdr-condo-feat-item:last-child { border-bottom: none; }
.tdr-condo-feat-link {
    display:         flex;
    align-items:     center;
    gap:             10px;
    text-decoration: none;
    color:           #1a2340;
}
.tdr-condo-feat-link:hover .tdr-condo-feat-name { color: #c9a551; }
.tdr-condo-feat-thumb {
    width:         44px;
    height:        44px;
    object-fit:    cover;
    border-radius: 4px;
    flex-shrink:   0;
    background:    #e8dfc8;
}
.tdr-condo-feat-nophoto {
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       20px;
    color:           #c9a551;
    background:      #f5f0e8;
}
.tdr-condo-feat-name {
    font-size:   13px;
    font-weight: 600;
    line-height: 1.3;
    transition:  color .15s;
}
.tdr-condo-feat-empty {
    font-size:  13px;
    color:      #bbb;
    font-style: italic;
    margin:     8px 0 0;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 600px) {
    .tdr-condo-grid { grid-template-columns: 1fr; }
    .tdr-condo-filter-bar { flex-direction: column; align-items: stretch; }
    .tdr-condo-filter-bar input,
    .tdr-condo-filter-bar select { min-width: 0; width: 100%; }
    .tdr-condo-tabs { flex-direction: column; }

    /* Hero responsive */
    .tdr-condo-detail-hero { height: 260px; }
    .tdr-condo-detail-hero-body { left: 16px; right: 16px; bottom: 18px; }
    .tdr-condo-detail-hero-title { font-size: 26px; }

    /* Inner content padding */
    .tdr-condo-detail-inner { padding: 0 16px; }

    /* Info bar: stack on mobile */
    .tdr-condo-detail-infobar {
        flex-direction: column;
        align-items:    flex-start;
        gap:            8px;
        padding:        12px 16px;
    }
    .tdr-condo-infobar-sep {
        padding-left: 0;
        margin-left:  0;
        border-left:  none;
    }

    /* Listings grid: stack on mobile */
    .tdr-condo-listings-grid {
        grid-template-columns: 1fr;
    }
    .tdr-condo-nearby-widget { position: static; }

    /* Nearby condos grid: 1 column on mobile */
    .tdr-condo-nearby-props-grid { grid-template-columns: 1fr; }
    .tdr-condo-nearby-props-heading { font-size: 18px; }

    /* Featured strip: 1 column on mobile */
    .tdr-condo-feat-strip { grid-template-columns: 1fr; gap: 24px; }
}

/* ── Brand-colored social buttons (site-wide convention) ─────────── */
.tdr-condo-social .tdr-social-btn,
.tdr-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none !important;
  border: none;
  transition: opacity .15s;
}
.tdr-social-btn:hover { opacity: .85; border-color: transparent; }
.tdr-social-fb { background: #1877f2; color: #fff !important; }
.tdr-social-ig { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff !important; }
.tdr-social-tw { background: #000; color: #fff !important; }
