/*
 Theme Name:   WpResidence child theme
 Theme URI:    https://themeforest.net/item/wp-residence-real-estate-wordpress-theme/7896392
 Description:  WpResidence child theme
 Author:       WpEstate
 Author URI:   http://wpestate.org
 Template:     wpresidence
 Version:      5.1.39
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* =========================================================
   Auctioneer Login page (only this page)
   ========================================================= */
   body.page-id-31843 form#loginform{
    max-width:420px; margin:40px auto; padding:24px 24px 20px;
    background:#fff; border:1px solid #e5e7eb; border-radius:12px;
    box-shadow:0 6px 18px rgba(16,24,40,.06);
  }
  body.page-id-31843 form#loginform p{ margin:0 0 16px; }
  body.page-id-31843 form#loginform label{
    display:block; font-weight:600; font-size:14px; color:#111827; margin:0 0 6px;
  }
  body.page-id-31843 form#loginform .input{
    width:100%; box-sizing:border-box; padding:10px 12px;
    border:1px solid #d1d5db; border-radius:8px; font-size:16px;
  }
  body.page-id-31843 form#loginform p.login-remember{
    display:flex; align-items:center; gap:8px; margin:6px 0 4px;
  }
  body.page-id-31843 form#loginform #wp-submit{
    width:100%; border:0; border-radius:999px; padding:12px 14px;
    font-weight:700; font-size:15px; background:#1565d8; color:#fff; cursor:pointer;
  }
  body.page-id-31843 form#loginform #wp-submit:hover{ background:#0f4fb1; }
  
  /* Forgot password link (HTML widget) */
  body.page-id-31843 .elementor-widget-html a{
    display:block; text-align:center; margin:12px auto 0; color:#1565d8;
    font-weight:600; text-decoration:none;
  }
  body.page-id-31843 .elementor-widget-html a:hover{ text-decoration:underline; }
  
  /* =========================================================
     Hide city/area/county selectors globally
     ========================================================= */
  [for="advanced_city"], #advanced_city,
  [for="advanced_area"], #advanced_area,
  [for="county-state"],  #county-state { display:none !important; }
  
  /* =========================================================
     Admin: Property List image thumb sizing
     ========================================================= */
  .wp-list-table .column-image,
  .wp-list-table .column-thumb { width:90px; }
  .wp-list-table .column-image img,
  .wp-list-table .column-thumb img,
  .wp-list-table td.column-image a img{
    max-width:80px !important; max-height:80px !important;
    height:auto !important; width:auto !important;
  }
  
  /* =========================================================
     HOMEPAGE/WIDE SECTIONS — overflow guards
     ========================================================= */
  /* Clamp Elementor stretched sections to viewport */
  .elementor-section.elementor-section-stretched{
    width:100% !important;
    left:0 !important;
    right:0 !important;
  }
  
  /* Global safety: no sideways scroll / layout shift when v-scrollbar appears */
  html, body{
    overflow-x: clip;              /* use hidden for older browsers if needed */
    scrollbar-gutter: stable both-edges;
  }
  
  /* Ensure images don’t trigger phantom overflow on focus */
  .elementor img{
    display:block;
    max-width:100%;
    height:auto;
  }
  
  /* =========================================================
     SINGLE PROPERTY — width safety (slider/map/template)
     ========================================================= */
  /* Don’t allow the page to pan sideways */
  .single-estate_property{ overflow-x:clip; }
  
  /* 1) Slider (Owl/Bootstrap) — clamp without inner scrollbars */
  .single-estate_property #property_slider_carousel,
  .single-estate_property #property_slider_carousel .owl-stage-outer,
  .single-estate_property #property_slider,
  .single-estate_property #property_slider .carousel-inner,
  .single-estate_property #property_slider .owl-stage-outer{
    max-width:100%;
    overflow:hidden !important;    /* both axes, prevents tiny inner bars */
  }
  .single-estate_property #property_slider_carousel img,
  .single-estate_property #property_slider img{
    display:block; max-width:100%; height:auto;
  }
  
  /* 2) Maps — keep inside viewport and remove inner scrollbars */
  .single-estate_property .google_map,
  .single-estate_property .googleMap_shortcode_wrapper,
  .single-estate_property .propmap,
  .single-estate_property .google_map iframe,
  .single-estate_property .propmap iframe{
    max-width:100% !important;
    width:100%;
    overflow:hidden !important;
  }
  
  /* 3) Template wrappers — never exceed viewport width */
  .single-estate_property .content_wrapper,
  .single-estate_property .container,
  .single-estate_property .wide_property_template,
  .single-estate_property .property_wrapper,
  .single-estate_property .entry-content{
    max-width:100%;
    overflow-x:hidden;
  }
  
  /* Optional: neutralize overly-wide Bootstrap rows in this template */
  .single-estate_property .row{ margin-left:0; margin-right:0; }
  
  /* =========================================================
     SINGLE PROPERTY HEADER — BASE (badges, pills, meta line)
     ========================================================= */
  .prop-header-inline{
    display:flex; flex-wrap:wrap; align-items:center;
    gap:.6rem; margin:.25rem 0 .5rem; font-size:16px;
  }
  .prop-meta i{ margin-right:.25rem; }
  .prop-meta-sep{ margin:0 .5rem; opacity:.5; }
  
  /* Auctioneer logo + name + category pill */
  .single_property_labels{
    display:flex; align-items:baseline; gap:.55rem; flex-wrap:wrap;
    margin-bottom:.35rem !important;
  }
  .single_property_labels .property_title_label{
    display:inline-flex; align-items:baseline; line-height:1.1;
    padding:.38rem .95rem; border-radius:999px; font-size:.98rem; margin:0;
  } 
  .single_property_labels .auctioneer-chip{
    display:inline-flex; align-items:baseline; transform:translateY(-2px);
  }
  .auctioneer-badge{
    display:inline-flex; align-items:baseline; gap:.45rem; text-decoration:none;
    background:transparent; border:0; box-shadow:none; padding:0;
  }
  .auctioneer-badge img{
    width:36px; height:36px; border-radius:50%; object-fit:cover; display:block;
    align-self:center; margin-right:.45rem;
  }
  .auctioneer-badge span{
    display:inline-block; line-height:1.1; padding:.50rem 1.25rem;
    border-radius:999px; background:#e0e0e0; color:#000; font-weight:600; font-size:1.05rem;
  }
  .auctioneer-badge:hover span{ background:#d5d5d5; }
  
  @media (max-width:480px){
    .single_property_labels .auctioneer-chip{ transform:translateY(-1px); }
  }
  
  /* Tighter title spacing */
  h1.entry-title.entry-prop{ margin:.20rem 0 .10rem !important; }
  
  /* Social row — compact spacing */
  .wpresidence_property_page_title_area .prop_social{
    margin-top:.10rem !important; margin-bottom:.35rem !important;
  }
  
  /* Bring gallery closer */
  .wpresidence_property_page_title_area{ margin-bottom:.20rem !important; }
  .wpresidence-content-container-wrapper .wpestate_lay3_media_wrapper{
    margin-top:.35rem !important; padding-top:0 !important;
  }
  .wpresidence_property_page_title_area + div .wpestate_lay3_media_wrapper,
  .wpresidence_property_page_title_area + *  .wpestate_lay3_media_wrapper{
    margin-top:.35rem !important; padding-top:0 !important;
  }
  
  /* =========================================================
     HEADER GRID (3 rows)
     Row 1: labels | price (price pinned absolutely)
     Row 2: title  | title
     Row 3: meta   | social
     ========================================================= */
  .wpresidence_property_page_title_area{
    display:grid !important;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "labels price"
      "title  title"
      "meta   social";
    align-items:center;
    row-gap:.35rem;
    column-gap:1rem;
    position:relative; /* anchor for absolute price */
  }
  .wpresidence_property_page_title_area .single_property_labels{ grid-area:labels; }
  .wpresidence_property_page_title_area h1.entry-title.entry-prop{ grid-area:title; }
  .wpresidence_property_page_title_area .prop-header-inline{ grid-area:meta; }
  .wpresidence_property_page_title_area .prop_social{ grid-area:social; justify-self:end; }
  
  /* Mobile: stack neatly */
  @media (max-width:768px){
    .wpresidence_property_page_title_area{
      grid-template-columns:1fr;
      grid-template-areas:
        "labels"
        "price"
        "title"
        "meta"
        "social";
    }
  }
  
  /* =========================================================
     PRICE — pin to top-right on same row as badges
     ========================================================= */
  .wpresidence_property_page_title_area .price_area{
    position:absolute !important;
    top:0; right:0;
    display:inline-flex !important;
    align-items:baseline; gap:.4rem;
    white-space:nowrap; margin:0 !important; padding:0;
    z-index:1; font-weight:700;
  }
  .wpresidence_property_page_title_area .price_area .price_label_before,
  .wpresidence_property_page_title_area .price_area .primary_price{
    display:inline-block; line-height:1.1; white-space:nowrap;
  }
  /* Optional tiny cushion on large screens */
  @media (min-width:992px){
    .wpresidence_property_page_title_area .price_area{ right:8px; }
  }
  /* Mobile: drop back into normal flow */
  @media (max-width:768px){
    .wpresidence_property_page_title_area .price_area{
      position:static !important;
      justify-self:start;
      margin-top:.25rem !important;
    }
  }
  /* micro-nudge so price baseline matches badges */
  :root{ --paa-price-nudge: -2px; } /* tweak: -1px .. -4px */
  .wpresidence_property_page_title_area .price_area{
    transform: translateY(var(--paa-price-nudge));
  }
  @media (min-width:1200px){
    :root{ --paa-price-nudge: -12px; }
  }
  
  /* =========================================================
     Dashboard – Right column links textarea
     ========================================================= */
  #wpestate_dashboard_content_wrapper #paa_links_raw { min-height:220px; }
  
  /* =========================================================
     PAA Documents panel
     ========================================================= */
  #paa_documents_section{
    background:#fff; border:1px solid #e0e0e0; border-radius:4px;
    margin-bottom:30px;
  }
  #paa_documents_section .panel_title{
    background:#f7f7f7; padding:16px 20px; margin:0;
    font-size:16px; font-weight:600; color:#333; border-bottom:1px solid #e0e0e0;
  }
  #paa_documents_section .panel-body{ padding:20px; }
  
/* **GSBEG **NOVMOD 04/11/2025 */
/* Override inline background-image - MISSPELLED class: backgorund */
div.places_square_backgorund_image[style*="background-image"] {
  background-image: none !important;
  overflow: visible !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
}

/* Add Font Awesome icons - SMALLER SIZE */
div.places_square_backgorund_image[data-link]:before {
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 32px;
  color: white;
  display: block;
}

/* Add gaps between boxes */
.col-md-3.listing_wrapper.places_wrapper_type_3 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* Land - map marker */
div.places_square_backgorund_image[data-link*="/listings/land/"] {
  background-color: #27ae60 !important;
}
div.places_square_backgorund_image[data-link*="/listings/land/"]:before {
  content: "\f3c5";
}

/* Office - building */
div.places_square_backgorund_image[data-link*="/listings/office/"] {
  background-color: #3498db !important;
}
div.places_square_backgorund_image[data-link*="/listings/office/"]:before {
  content: "\f1ad";
}

/* Barn-conversion - home */
div.places_square_backgorund_image[data-link*="/listings/barn-conversion/"] {
  background-color: #e67e22 !important;
}
div.places_square_backgorund_image[data-link*="/listings/barn-conversion/"]:before {
  content: "\f015";
}

/* Bungalow - simple home */
div.places_square_backgorund_image[data-link*="/listings/bungalow/"] {
  background-color: #9b59b6 !important;
}
div.places_square_backgorund_image[data-link*="/listings/bungalow/"]:before {
  content: "\f015";
}

/* Commercial - store */
div.places_square_backgorund_image[data-link*="/listings/commercial/"] {
  background-color: #e74c3c !important;
}
div.places_square_backgorund_image[data-link*="/listings/commercial/"]:before {
  content: "\f54e";
}

/* Detached House - house with chimney */
div.places_square_backgorund_image[data-link*="/listings/detached-house/"] {
  background-color: #1abc9c !important;
}
div.places_square_backgorund_image[data-link*="/listings/detached-house/"]:before {
  content: "\f015";
}

/* Semi-detached House - house with user */
div.places_square_backgorund_image[data-link*="/listings/semi-detached-house/"] {
  background-color: #34495e !important;
}
div.places_square_backgorund_image[data-link*="/listings/semi-detached-house/"]:before {
  content: "\f015";
}

/* Residential Development - city */
div.places_square_backgorund_image[data-link*="/listings/residential-development/"] {
  background-color: #16a085 !important;
}
div.places_square_backgorund_image[data-link*="/listings/residential-development/"]:before {
  content: "\f64f";
}

/* Hover effect */
.listing_wrapper:hover div.places_square_backgorund_image {
  transform: scale(1.05);
  transition: all 0.3s ease;
}

/* GSBEG 20/11/2025 Slider spacing */
/* Fix theme’s negative margin that makes the slider overlap the label */
.search_wr_elementor .adv_search_slider p{
  margin-bottom: 0 !important;
  padding-bottom: 10px !important;   /* keeps guaranteed clearance */
  line-height: 1.25;                  /* optional: reads nicer */
}

/* (Optional) add a tiny push to the track for extra safety) */
.search_wr_elementor .adv_search_slider .ui-slider{
  margin-top: 6px !important;
}

/* GSBEG 21/11/2025 Featured Auction House cards - home Page */
/* PAA: always hide the featured image column (desktop + mobile) */
.user_role_featured_image,
.user_role_featured_image.col-12,
.user_role_featured_image.col-sm-5{
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
}

/* Make details go full width */
.featured_user_role_unit_details{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Extra safety for mobile where theme may reset layout */
@media (max-width: 767px){
  .user_role_featured_image,
  .user_role_featured_image.col-12,
  .user_role_featured_image.col-sm-5{
    display: none !important;
  }
  .featured_user_role_unit_details{
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* **GSBEG **NOVMOD Christmas Eve 2025 */
/* ============================
   Auction Guides Page - CSS extracted from live site
============================ */

/* Anchor scroll offset */
.anchor {
  scroll-margin-top: 124px;
}

/* Horizontal scroll container for guide cards */
.horizontal-scroll {
  max-width: 100%;
  display: inline;
  overflow-x: scroll;
}

/* Guide cards with background image */
.guide-card {
  display: flex;
  background-image: url("https://www.propertyauctionaction.co.uk/wp-content/uploads/2025/05/Auction-Guide-Background.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  color: var(--wp-estate-second-color-option);
  border-radius: 5px;
  padding: 16px;
  height: 250px;
  max-width: 200px;
}

.guide-card a {
  font-weight: bold;
  color: var(--wp-estate-second-color-option) !important;
}

.guide-card-icon {
  position: absolute;
  bottom: 16px;
  right: 16px;
}

/* Location cards with border */
.locations-card {
  display: flex;
  align-items: center;
  border: 1px solid var(--wp-estate-main-color-option);
  height: 80px;
  border-radius: 5px;
  padding: 0 16px;
}

.locations-card p {
  margin-bottom: 0;
}

.locations-card a {
  font-weight: bold;
  color: var(--wp-estate-second-color-option) !important;
}

/* WordPress block group padding - may affect layout */
.wp-block-group {
  padding: 1.5rem 0;
}

/* Fix guide card padding */
.guide-card .wp-block-group {
  padding: 16px;
}

/* Fix location card borders - hardcoded colour */
.locations-card {
  border: 1px solid #1e3a5f !important;
}

.paa-region-featured-img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  display: block;
}

/* PAA region pages: constrain content width */
body.page .paa-region-page,
body.page[class*="find-property-auctions-in-"] .entry-content,
body.page[class*="find-property-auctions-in-"] .elementor {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 18px;
  padding-right: 18px;
}

/* Add spacing between header/menu and featured image */
body[class*="find-property-auctions-in-"] .wpresidence_featured_image,
body[class*="find-property-auctions-in-"] .property_header_image,
body[class*="find-property-auctions-in-"] .featured-image,
body[class*="find-property-auctions-in-"] .blog_featured_image{
  margin-top: 20px;
}

/* Space between header and region featured image */
body[class*="find-property-auctions-in-"] main.content_wrapper {
  padding-top: 24px !important;
}

/* PAA region featured image: width + consistent spacing */
.paa-region-featured{
  max-width: 1140px;
  margin: 24px auto 24px;   /* top, left/right, bottom */
}

.paa-region-featured-img{
  width: 100%;
  height: auto;
  border-radius: 14px;
  display: block;
}

/* **GSNOV 04/01/2026 - About PAA page */
:root {
  --mauve: #dae3e6;
}

/* About page highlight cards – map the "dark" class to mauve styling */
.wp-block-group.highlight-box-dark,
.wp-block-column.highlight-column .wp-block-group.highlight-box-dark {
  background-color: var(--mauve) !important;
  padding: 32px !important;
  border-radius: 5px;
  height: 100%;
}

/* ensure text is readable on mauve */
.wp-block-group.highlight-box-dark,
.wp-block-group.highlight-box-dark * {
  color: #2b2b2b !important;
}

/* Add spacing below header on all pages */
/* *GSNOV 09/01/2026 */
#content > .elementor:first-child > .elementor-section:first-child {
  padding-top: 15px;
}

/* ============================
   Auctioneer Details Page v2
============================ */

/* Container */
.adp-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}

/* Header Card - Logo + Name + Next Auction */
.adp-header-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: linear-gradient(135deg, #1e3a5f 0%, #2d4a6f 100%);
  border-radius: 12px;
  padding: 28px 32px;
  margin-bottom: 28px;
  box-shadow: 0 4px 20px rgba(30, 58, 95, 0.15);
}

.adp-header-content {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
  min-width: 0;
}

.adp-logo-wrap {
  flex-shrink: 0;
  width: 200px;
  height: 120px;
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.adp-logo {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.adp-header-info {
  flex: 1;
  min-width: 0;
}

.adp-title {
  color: #fff !important;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 4px !important;
  line-height: 1.2;
}

.adp-subtitle {
  color: rgba(255,255,255,0.75);
  font-size: 15px;
  margin: 0 0 12px;
  font-weight: 400;
}

.adp-region-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.15);
  color: #fff;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
}

.adp-region-badge i {
  font-size: 12px;
  opacity: 0.85;
}

/* Next Auction Badge */
.adp-next-auction {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  padding: 16px 28px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  flex-shrink: 0;
}

.adp-next-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #666;
  margin-bottom: 4px;
}

.adp-next-date {
  font-size: 22px;
  font-weight: 700;
  color: #1e3a5f;
}

/* Main Grid Layout */
.adp-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 28px;
  align-items: start;
}

/* Cards */
.adp-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 28px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.adp-section-title {
  font-size: 20px;
  font-weight: 600;
  color: #1e3a5f;
  margin: 0 0 16px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid #e5e7eb;
}

.adp-description {
  font-size: 15px;
  line-height: 1.7;
  color: #4b5563;
  margin-bottom: 20px;
}

.adp-description p {
  margin: 0 0 12px;
}

.adp-cta-text {
  font-size: 14px;
  color: #6b7280;
  margin-bottom: 20px;
}

/* CTA Button */
.adp-cta-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #1e3a5f;
  color: #fff !important;
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(30, 58, 95, 0.25);
}

.adp-cta-button:hover {
  background: #2d4a6f;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(30, 58, 95, 0.3);
  color: #fff !important;
}

.adp-cta-button i {
  font-size: 13px;
  opacity: 0.85;
}

/* Contact Card */
.adp-contact-card {
  background: #f8fafc;
}

.adp-contact-title {
  font-size: 16px;
  font-weight: 600;
  color: #1e3a5f;
  margin: 0 0 20px !important;
}

.adp-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.adp-contact-item {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #e5e7eb;
}

.adp-contact-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.adp-contact-item:first-child {
  padding-top: 0;
}

.adp-contact-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: #1e3a5f;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adp-contact-icon i {
  color: #fff;
  font-size: 14px;
}

.adp-contact-text {
  flex: 1;
  font-size: 14px;
  color: #4b5563;
  line-height: 1.5;
  display: flex;
  align-items: center;
}

.adp-contact-text a {
  color: #1e3a5f;
  text-decoration: none;
  font-weight: 500;
}

.adp-contact-text a:hover {
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 992px) {
  .adp-grid {
    grid-template-columns: 1fr;
  }
  
  .adp-contact-card {
    order: -1;
  }
}

@media (max-width: 768px) {
  .adp-header-card {
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
  }
  
  .adp-header-content {
    flex-direction: column;
    text-align: center;
  }
  
  .adp-logo-wrap {
    width: 180px;
    height: 110px;
  }
  
  .adp-title {
    font-size: 24px;
  }
  
  .adp-next-auction {
    width: 100%;
  }
  
  .adp-card {
    padding: 20px;
  }
  
  .adp-cta-button {
    width: 100%;
    justify-content: center;
  }
}

/* ============================
   TV Programme Details Page (TVP)
============================ */

/* Container */
.tvp-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}

/* Header Card - Channel Logo + Programme Name + Time */
.tvp-header-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: linear-gradient(135deg, #1e3a5f 0%, #2d4a6f 100%);
  border-radius: 12px;
  padding: 28px 32px;
  margin-bottom: 28px;
  box-shadow: 0 4px 20px rgba(30, 58, 95, 0.15);
}

.tvp-header-content {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
  min-width: 0;
}

.tvp-logo-wrap {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  background: #fff;
  border-radius: 8px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.tvp-logo {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.tvp-header-info {
  flex: 1;
  min-width: 0;
}

.tvp-title {
  color: #fff !important;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 4px !important;
  line-height: 1.3;
}

.tvp-subtitle {
  color: rgba(255,255,255,0.75);
  font-size: 15px;
  margin: 0 0 12px;
  font-weight: 400;
}

.tvp-date-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.15);
  color: #fff;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
}

.tvp-date-badge i {
  font-size: 12px;
  opacity: 0.85;
}

/* Broadcast Time Badge */
.tvp-broadcast-time {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  padding: 16px 28px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  flex-shrink: 0;
}

.tvp-broadcast-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #666;
  margin-bottom: 4px;
}

.tvp-broadcast-slot {
  font-size: 22px;
  font-weight: 700;
  color: #1e3a5f;
}

.tvp-duration {
  font-size: 13px;
  color: #6b7280;
  margin-top: 4px;
}

/* Main Grid Layout */
.tvp-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: start;
}

.tvp-main-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Cards */
.tvp-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 28px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.tvp-section-title {
  font-size: 20px;
  font-weight: 600;
  color: #1e3a5f;
  margin: 0 0 16px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid #e5e7eb;
}

.tvp-description {
  font-size: 15px;
  line-height: 1.7;
  color: #4b5563;
}

.tvp-description p {
  margin: 0 0 12px;
}

.tvp-description p:last-child {
  margin-bottom: 0;
}

/* Back Button Section */
.tvp-back-section {
  margin-top: 8px;
}

.tvp-back-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ff4500;
  color: #fff !important;
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(255, 69, 0, 0.25);
}

.tvp-back-button:hover {
  background: #cc3700;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 69, 0, 0.3);
  color: #fff !important;
}

.tvp-back-button i {
  font-size: 13px;
}

/* Sidebar Info Card */
.tvp-sidebar {
  position: sticky;
  top: 24px;
}

.tvp-info-card {
  background: #f8fafc;
}

.tvp-info-title {
  font-size: 16px;
  font-weight: 600;
  color: #1e3a5f;
  margin: 0 0 20px !important;
}

.tvp-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tvp-info-item {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #e5e7eb;
}

.tvp-info-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.tvp-info-item:first-child {
  padding-top: 0;
}

.tvp-info-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: #1e3a5f;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tvp-info-icon i {
  color: #fff;
  font-size: 14px;
}

.tvp-info-text {
  flex: 1;
  font-size: 14px;
  color: #4b5563;
  line-height: 1.5;
}

.tvp-info-text strong {
  color: #1e3a5f;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 992px) {
  .tvp-grid {
    grid-template-columns: 1fr;
  }
  
  .tvp-sidebar {
    position: static;
  }
  
  .tvp-info-card {
    order: -1;
  }
}

@media (max-width: 768px) {
  .tvp-header-card {
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
  }
  
  .tvp-header-content {
    flex-direction: column;
    text-align: center;
  }
  
  .tvp-logo-wrap {
    width: 80px;
    height: 80px;
  }
  
  .tvp-title {
    font-size: 22px;
  }
  
  .tvp-broadcast-time {
    width: 100%;
  }
  
  .tvp-card {
    padding: 20px;
  }
  
  .tvp-back-button {
    width: 100%;
    justify-content: center;
  }
}

#wp-admin-bar-my-account {
  display: none !important;
}

/* ==============================================
   PAA Advanced Search Page Cleanup
   Hide redundant elements & normalize gaps
   ============================================== */

/* ----- HIDE ELEMENTS ----- */

/* Hide the "Advanced Search (X)" title */
.single-content > h1.entry-title.title_prop,
h1.entry-title.title_prop {
    display: none !important;
}

/* Collapse the single-content container but don't hide it */
.single-content {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

/* Hide the "Start Your Auction Search Here" heading and its container */
.elementor-element-224b0f4,
.elementor-element-5e5dd6dd {
    display: none !important;
}

/* Hide the "Search Parameters: Property Price between..." text */
.search_param,
.search_unit_wrapper.advanced_search_notice,
div.search_param {
    display: none !important;
}

/* Hide the duplicate Location/Radius fields */
.wpresidence_note_half_search,
div.wpresidence_note_half_search.row {
    display: none !important;
}

/* Hide the Save Search form (phase 2 feature - requires cron jobs) */
.saved_search_wrapper {
    display: none !important;
}

/* ----- LIGHT GREY SEARCH FORM BACKGROUND WITH UNIFORM PADDING ----- */

/* Add uniform padding around the search form so grey background shows equally on all sides */
.search_wrapper.search_wr_elementor.search_wr_elementor_shadow_ {
    padding: 15px !important;
    margin: 2px 0 !important;
    background-color: #efefef !important;
    border-radius: 5px !important;
}

/* ----- REMOVE DARK GREY ELEMENTOR BACKGROUND ----- */

/* Remove the dark grey background from Elementor containers */
.elementor-element-480508d3,
.elementor-element-480508d3.e-con,
div[data-id="480508d3"],
.elementor-element.elementor-element-480508d3 {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Target the motion effects layer that holds the background */
.elementor-element-480508d3 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element.elementor-element-480508d3 .elementor-motion-effects-layer {
    background: none !important;
    background-color: transparent !important;
}

.elementor-element-675b317c,
.elementor-element-675b317c.e-con,
div[data-id="675b317c"],
.elementor-element.elementor-element-675b317c {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* ----- COLLAPSE EMPTY CONTAINERS ----- */

/* Collapse the adv-search-1.halfsearch container */
.adv-search-1.halfsearch,
div.adv-search-1.halfsearch {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    min-height: 0 !important;
}

#google_map_prop_list_sidebar .adv-search-1 {
    padding: 0 !important;
    border: none !important;
}

/* ----- GAP NORMALIZATION ----- */

/* Reduce space between List/Map View tabs and search form */
.wpresidence_half_map_filter_wrapper {
    padding-bottom: 0 !important;
}

/* Control margins around the search form grey box */
.elementor-9 .elementor-element.elementor-element-4677a2ba,
.elementor-element-4677a2ba {
    --margin-top: 0px !important;
    --margin-bottom: 0px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Search form widget spacing */
.elementor-element-3cf227d8 {
    margin: 0 !important;
    padding: 0 !important;
}

/* **GSNOV 17/01/2026 */
/* Hide WP Residence Google Map search box on half-map views */
#gmap_wrapper #google-default-search {
  display: none !important;
}

/* Hide Google Places suggestion dropdown on map */
html {
  margin-left: 0 !important;
  padding-left: 0 !important;
  scrollbar-gutter: auto !important;
  overflow-x: auto !important;
}

/* PAA: Improve single blog post layout (WP Residence) */
/* **GSNOV 18/01/2026 */
body.single-post article.single-content.single-blog{
  /* Ensure the white card has breathing space */
  padding: clamp(18px, 2.6vw, 36px) !important;

  /* Optional: make the card look more intentional */
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}

/* Constrain the reading width inside the card */
body.single-post article.single-content.single-blog{
  max-width: 1140px;   /* match typical content container width */
  margin-left: auto;
  margin-right: auto;
}

body.single-post article.single-content.single-blog .entry-content,
body.single-post article.single-content.single-blog .post-content{
  max-width: 100%;
}

/* Typography rhythm */
body.single-post article.single-content.single-blog p{
  line-height: 1.75;
  margin: 0 0 1.05em;
  font-size: 17px;
}

body.single-post article.single-content.single-blog h2,
body.single-post article.single-content.single-blog h3{
  line-height: 1.25;
  margin: 1.5em 0 0.6em;
}

@media (max-width: 767px){
  body.single-post article.single-content.single-blog{
    padding: 18px !important;
  }
  body.single-post article.single-content.single-blog p{
    font-size: 16px;
  }
}

/**********************/ 
/**********************/ 
/* **GSNOV 19/01/2026 */
/**********************/
/**********************/
/* ===== PAA: mobile menu visibility fixes ===== */
/* ===== WPR mobile header: make hamburger visible ===== */
.mobile_header .mobile-trigger,
.mobile_header .mobile-trigger i,
.mobile_header .mobile-trigger svg {
  color: #111 !important;
  fill: #111 !important;
  stroke: #111 !important;
}

/* If the hamburger is built with spans (common), force those too */
.mobile_header .mobile-trigger span,
.mobile_header .mobile-trigger span:before,
.mobile_header .mobile-trigger span:after {
  background-color: #111 !important;
}

/* ===== WPR slideout menu: make text readable ===== */
#mobilewrapper_links,
#mobilewrapper_links * {
  color: #fff !important;
}

#mobilewrapper_links a {
  color: #fff !important;
}

/* Background of the slideout panel (change if you want lighter) */
#mobilewrapper_links {
  background-color: #0b2a4a !important;
}

/* Dropdown arrow / caret icons (if present) */
#mobilewrapper_links .caret,
#mobilewrapper_links .sub_menu_toggle,
#mobilewrapper_links i,
#mobilewrapper_links svg {
  color: #fff !important;
  fill: #fff !important;
}

/* GS 10/02/2026 Show Auctioneer on Latest Property Card */
.widget_latest_listing_image {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.widget_latest_agency_logo {
    position: absolute;
    left: 6px;
    top: 6px;
    width: 58px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    background: #fff;
    border-radius: 4px;
    padding: 3px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

.widget_latest_agency_logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* TV guide channel logos - make all logos uniform */
.tablepress-id-3 td.column-1 img{
    width:44px;
    height:42px;
    object-fit:contain;
    display:block;
}

/* keep the logo column tidy */
.tablepress-id-3 td.column-1{
    width:60px;
    vertical-align:middle;
}

/* PAA footer latest listing image wrapper GS 29/04/2026 */
.widget_latest_listing_image{
    position:relative;
    display:inline-block;
    overflow:hidden;
}

/* Auctioneer name badge - top left */
.widget_latest_agency_badge{
    position:absolute;
    top:5px;
    left:5px;
    z-index:20;
    display:block;
    padding:4px 8px;
    font-size:10px;
    line-height:1.2;
    font-weight:700;
    color:#fff;
    background:#1e73be;
    border-radius:3px;
    white-space:nowrap;
    max-width:90px;
    overflow:hidden;
    text-overflow:ellipsis;
}
/* Auctioneer logo - bottom right */
.widget_latest_agency_logo{
    position:absolute;
    right:-3px;
    bottom:5px;
    top:auto;
    left:auto;
    z-index:19;
    display:block;
    width:53px;
    height:34px;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
    padding:0 !important;
}

.widget_latest_agency_logo img{
    display:block;
    max-width:53px;
    max-height:34px;
    width:auto;
    height:auto;
    object-fit:contain;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* PAA - footer legal links beside copyright 30/04/2026 */
#colophon .sub_footer_content {
    justify-content: flex-start !important;
    gap: 0 !important;
}

/* Keep copyright and footer menu on same left-hand line */
#colophon .sub_footer_content .copyright {
    display: inline-block !important;
    margin-right: 18px !important;
}

#colophon .subfooter_menu {
    display: inline-block !important;
    margin-left: 0 !important;
    text-align: left !important;
}

/* Make footer menu horizontal */
#colophon .subfooter_menu ul,
#colophon .subfooter_menu #menu-footer {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#colophon .subfooter_menu li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Pipe separator between legal links */
#colophon .subfooter_menu li:not(:last-child)::after {
    content: "  |  ";
    color: var(--wp-estate-footer-copy-color, #c9d3dc);
    padding: 0 8px;
}

/* Link colour */
#colophon .subfooter_menu a {
    color: var(--wp-estate-footer-copy-color, #c9d3dc) !important;
    text-decoration: none !important;
}

#colophon .subfooter_menu a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* GS **NOV Add auction date label to detail page */

/* Keep the top label row neat */
.single_property_labels {
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    flex-wrap: wrap !important;
}

/* 1. Auctioneer badge */
.single_property_labels .auctioneer-chip {
    order: 1 !important;
}

/* 2. Property type badge */
.single_property_labels .property_title_label.actioncat {
    order: 2 !important;
}

/* 3. Auction date badge */
.single_property_labels .paa-auction-date-badge {
    order: 3 !important;

    /* Important: undo the generic image/card badge positioning */
    position: static !important;
    left: auto !important;
    top: auto !important;
    z-index: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: .35rem !important;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    background: #b0003a !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    margin-left: 0 !important;
    transform: none !important;
}

/* PAA: tidy auction date badge inside Google map popup thumbnail */
.infobox_wrapper_image .paa-auction-thumb-wrap {
    position: relative !important;
    display: inline-block !important;
    line-height: 0 !important;
}

/* Keep thumbnail wrapper tight */
.infobox_wrapper_image .paa-auction-thumb-wrap img {
    display: block !important;
}

/* Small thumbnail-only auction badge */
.infobox_wrapper_image .paa-auction-thumb-wrap .paa-auction-date-badge {
    position: absolute !important;
    left: 3px !important;
    top: auto !important;
    bottom: 3px !important;
    z-index: 5 !important;

    display: inline-block !important;
    width: auto !important;
    max-width: 92% !important;
    padding: 2px 5px !important;
    border-radius: 3px !important;

    background: #1f6fb2 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.22) !important;
}

/* PAA: keep Google map property popup compact */
/* =========================================================
   MAP INFO BOX — restyle GS 01/05/2026 v4
   ========================================================= */

/* Container */
.gm-style .info_details.price_infobox {
    width: 170px !important;
    max-width: 170px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.22) !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
        "img   img"
        "title title"
        "feat  price" !important;
    background: #fff !important;
}

/* Close button — overlaid top-right of image */
.gm-style .info_details.price_infobox #infocloser {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 10 !important;
    width: 22px !important;
    height: 22px !important;
    background: rgba(0,0,0,.5) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 12px !important;
    cursor: pointer !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Image wrapper — full width, no gaps */
.gm-style .info_details.price_infobox .infobox_wrapper_image {
    grid-area: img !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* <a> inside image wrapper — must be block to fill width */
.gm-style .info_details.price_infobox .infobox_wrapper_image > a {
    display: block !important;
    width: 100% !important;
    line-height: 0 !important;
}

/* thumb-wrap span — block to fill width */
.gm-style .info_details.price_infobox .infobox_wrapper_image .paa-auction-thumb-wrap {
    display: block !important;
    width: 100% !important;
    line-height: 0 !important;
}

/* Image */
.gm-style .info_details.price_infobox .infobox_wrapper_image img {
    width: 100% !important;
    height: 100px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
}

/* Address — wrapping */
.gm-style .info_details.price_infobox .infobox_title {
    grid-area: title !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #1a1a1a !important;
    padding: 5px 6px 1px 6px !important;
    margin: 0 !important;
}

.gm-style .info_details.price_infobox .infobox_title a {
    float: none !important;
    display: block !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    white-space: normal !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Features (beds/baths) — left of bottom row */
.gm-style .info_details.price_infobox .infobox_details {
    grid-area: feat !important;
    padding: 1px 4px 5px 6px !important;
    font-size: 10px !important;
    color: #666 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    line-height: 1.4 !important;
    align-self: center !important;
}

/* Price — right of bottom row, PAA red */
.gm-style .info_details.price_infobox .prop_pricex {
    grid-area: price !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    display: block !important;
    padding: 1px 6px 5px 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #b0003a !important;
    margin: 0 !important;
    white-space: nowrap !important;
    align-self: center !important;
    text-align: right !important;
}

/* Auction date badge on thumbnail */
.infobox_wrapper_image .paa-auction-thumb-wrap .paa-auction-date-badge {
    font-size: 10px !important;
    padding: 3px 6px !important;
}

/* Blog single post - increase side padding for readability */
body.single-post article.single-content.single-blog {
 padding: 36px clamp(24px, 12vw, 180px) !important;
}

