/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.10.1757406007
Updated: 2025-09-09 09:20:07

*/


/* Property Hive – Buy/Rent styling (simple search bar) */
form.property-search-form.property-search-form-simple_search .control.control-department{
  display: flex;              /* let us center things vertically */
  align-items: center;        /* vertical centering inside the 46px control box */
  gap: 12px;                  /* space between the two options */
  min-height: 46px;           /* match the control’s height you showed */
  padding: 0 10px;            /* keep existing padding */
}

/* Make the labels white and larger */
form.property-search-form.property-search-form-simple_search .control.control-department label{
  color: #fff !important;
  font-size: 16px;
  line-height: 1;
  margin: 0 12px 0 4px;       /* space after the radio dot */
  display: inline-flex;       /* keeps label text nicely aligned with the radio */
  align-items: center;
}

/* Tidy the radio alignment next to the labels */
form.property-search-form.property-search-form-simple_search .control.control-department input[type="radio"]{
  margin: 0 6px 0 0;
  vertical-align: middle;
}
form.property-search-form.property-search-form-simple_search .control.control-department{
  justify-content: center;
}

/* Center the location input + submit for the simple search bar */
form.property-search-form.property-search-form-simple_search{
  text-align: center;                 /* lets inline blocks center */
}



/* === Property Hive simple search: keep size, center the input === */

/* use a flex row for the three controls */
form.property-search-form.property-search-form-simple_search{
  display: flex !important;
  align-items: center;
  gap: 16px;
  text-align: initial !important;      /* cancel previous text-align */
}

/* left group + right button keep natural size */
form.property-search-form.property-search-form-simple_search .control.control-department,
form.property-search-form.property-search-form-simple_search .control.control-submit{
  flex: 0 0 auto;
}

/* CENTER the location box while keeping its original width */
form.property-search-form.property-search-form-simple_search .control.control-location{
  flex: 0 0 auto;                       /* do NOT stretch/shrink */
  margin-left: auto;                    /* <-- centers the middle item */
  margin-right: auto;                   /* by pushing equally on both sides */
}

/* ensure the input keeps its native/theme width (not 100% of the row) */
form.property-search-form.property-search-form-simple_search .control.control-location input[type="text"]{
  width: auto !important;               /* undo earlier width:100% */
  max-width: 100%;                      /* stay responsive if container gets tight */
}






/* Center the whole Property Hive simple search group in the hero */
form.property-search-form.property-search-form-simple_search{
  display: flex !important;
  justify-content: center;   /* ⟵ center the whole cluster */
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;           /* tidy on smaller screens */
  width: 100%;
}

/* Keep each piece at its natural size */
form.property-search-form.property-search-form-simple_search .control.control-department,
form.property-search-form.property-search-form-simple_search .control.control-location,
form.property-search-form.property-search-form-simple_search .control.control-submit{
  flex: 0 0 auto;
}

/* Replace the previous auto-centering margins on the input control */
form.property-search-form.property-search-form-simple_search .control.control-location{
  margin: 0 24px;            /* just spacing, no auto-centering now */
}

/* Keep the input at its existing/theme width (don’t stretch) */
form.property-search-form.property-search-form-simple_search
  .control.control-location input[type="text"]{
  width: auto !important;
  max-width: 100%;
}






/* === Property Hive simple search: framed + slightly longer input === */

/* Make the whole group shrink-wrap and center; add the white border */
form.property-search-form.property-search-form-simple_search{
  display: flex !important;
  align-items: center;
  gap: 16px;
  width: fit-content;        /* shrink to contents so the border hugs it */
  margin: 0 auto;            /* center the whole cluster */
  padding: 10px 14px;        /* space inside the border */
  border: 2px solid #fff;    /* WHITE BORDER */
  border-radius: 6px;        /* remove if you want square corners */
  background: transparent;
}

/* Keep pieces at their natural size */
form.property-search-form.property-search-form-simple_search .control.control-department,
form.property-search-form.property-search-form-simple_search .control.control-location,
form.property-search-form.property-search-form-simple_search .control.control-submit{
  flex: 0 0 auto;
}

/* Make the white input a little longer (~+30px visually) */
form.property-search-form.property-search-form-simple_search
  .control.control-location input[type="text"]{
  width: auto !important;     /* don’t stretch */
  box-sizing: border-box;
  padding-left: 22px;         /* increase padding to lengthen the field */
  padding-right: 22px;        /* (+ ~30px total vs default 16/16) */
  /* If you still want a bit more, uncomment and tweak the min-width: */
  /* min-width: 520px; */
}

/* (Keeps your white 16px labels centered in their box) */
form.property-search-form.property-search-form-simple_search .control.control-department{
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 10px;
}
form.property-search-form.property-search-form-simple_search .control.control-department label{
  color:#fff !important; font-size:16px; line-height:1; margin:0 12px 0 4px;
  display:inline-flex; align-items:center;
}
form.property-search-form.property-search-form-simple_search .control.control-department input[type="radio"]{
  margin:0 6px 0 0; vertical-align:middle;
}



/* Remove clearfix pseudo-elements that are stretching the flex row */
form.property-search-form.property-search-form-simple_search::before,
form.property-search-form.property-search-form-simple_search::after{
  content: none !important;
  display: none !important;
}

/* Tighten the frame so it hugs the controls neatly */
form.property-search-form.property-search-form-simple_search{
  width: fit-content !important;  /* shrink to contents */
  margin: 0 auto;
  padding: 8px 12px;              /* adjust if you want tighter/looser */
  border: 2px solid #fff;
  border-radius: 6px;
  display: flex !important;
  align-items: center;
  gap: 16px;
}







/* Property Hive search – square corners everywhere */
form.property-search-form,
form.property-search-form input,
form.property-search-form select,
form.property-search-form button,
form.property-search-form .select2-selection,
form.property-search-form .select2-selection__rendered {
  border-radius: 0 !important;
}

/* If the white outline is applied to the form itself, keep it square */
form.property-search-form { border-radius: 0 !important; }

/* --- Make the location (address/postcode) box ~30% longer on desktop --- */
/* Preferred: grow the field's container if it exists */
@media (min-width: 992px) {
  /* If your markup has a wrapper for the address field, this usually hits it */
  form.property-search-form .address_keyword,
  form.property-search-form li.address_keyword {
    flex: 0 0 60% !important;   /* adjust to taste */
    max-width: 60% !important;
  }
  /* Ensure the input fills its wrapper */
  form.property-search-form #address_keyword { width: 100% !important; }
}

/* Fallback: if the wrapper selector above doesn’t match, directly widen the input */
@media (min-width: 992px) {
  form.property-search-form #address_keyword {
    width: 130% !important;      /* ~30% longer */
  }
}

/* Mobile: keep it tidy */
@media (max-width: 991.98px) {
  form.property-search-form .address_keyword,
  form.property-search-form li.address_keyword {
    flex: 1 0 100% !important;
    max-width: 100% !important;
  }
  form.property-search-form #address_keyword { width: 100% !important; }
}





/* Desktop: grow the address field; keep the button visible */
@media (min-width: 992px) {
  /* Make the address field take more room */
  form.property-search-form li.address_keyword,
  form.property-search-form .address_keyword {
    flex: 1 1 60% !important;   /* ~30% longer than before */
    max-width: 60% !important;
  }

  /* Keep other fields + the Search button auto-sized */
  form.property-search-form li,
  form.property-search-form .submit {
    flex: 0 0 auto !important;
  }

  /* Input fills its wrapper (no overflow onto the button) */
  form.property-search-form #address_keyword {
    width: 100% !important;   /* overrides the 130% fallback */
  }
}

/* If you added a previous "width:130%" rule, remove it,
   or ensure the block above comes AFTER it. */









/* === Property Hive: widen keyword box on desktop === */
@media (min-width: 900px) {
  /* put the whole simple search row on flex so we can control widths */
  .property-search-form-simple_search {
    display: flex !important;
    align-items: center;
    gap: 16px;
  }

  /* stop all other controls (Buy/Rent radios + Search button) from growing */
  .property-search-form-simple_search .control {
    flex: 0 0 auto !important;
  }

  /* make the keyword control grow and be ~25% larger */
  .property-search-form-simple_search .control-address_keyword {
    flex: 1 1 0 !important;          /* take remaining space */
    min-width: 312px !important;      /* ≈ current 250px × 1.25 */
  }

  /* ensure the input fills its wrapper completely */
  .property-search-form-simple_search .control-address_keyword input#address_keyword {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
  }
}





/* SEARCH BAR (Area/Postcode, Buy, Min/Max, Beds, Type, etc.) */
.property-search-form-default input[type="text"],
.property-search-form-default select {
  border: 2px solid #0D51AD !important;
}

/* "Sort by price" dropdown */
.propertyhive-ordering .orderby {
  border: 2px solid #0D51AD !important;
}

/* LINES / SEPARATORS BETWEEN RESULTS */
ul.properties { 
  border-top: 2px solid #0D51AD !important;
}
ul.properties > li {
  border-top: 2px solid #0D51AD !important;
}
ul.properties > li:first-child {
  border-top: 0 !important; /* avoid a double line at the very top */
}

/* Any <hr> separators on the template */
.ast-container hr,
.propertyhive hr {
  border: 0;
  border-top: 2px solid #0D51AD !important;
  height: 0;
}

/* Optional: cleaner focus outline to match the border */
.property-search-form-default input[type="text"]:focus,
.property-search-form-default select:focus,
.propertyhive-ordering .orderby:focus {
  outline: none;
}




/* Give each listing a positioning context and room for the fixed button */
ul.properties > li {
  position: relative;
  padding-bottom: 80px; /* prevents content overlapping the fixed button */
}

/* Move the actions area (More Details) to bottom-right */
ul.properties > li .actions {
  position: absolute;
  right: 0;           /* lines up with the Search button's right edge */
  bottom: 15px;       /* sits ~15px above the dividing line */
  margin: 0 !important;
  float: none !important;
}

/* Button styling (already blue); keep it neat */
ul.properties > li .actions a.button,
ul.properties > li .actions .button {
  background: #0D51AD !important;
  border: none !important;
  padding: 12px 22px;
  line-height: 1;
  display: inline-block;
}

/* Optional: ensure the inner details column doesn't collide on narrow layouts */
@media (max-width: 768px) {
  ul.properties > li { padding-bottom: 72px; }
  ul.properties > li .actions { right: 15px; } /* a little inset on mobile */
}





/* Make the "More Details" button square */
ul.properties > li .actions a.button,
ul.properties > li .actions .button {
  border-radius: 0 !important;
}





/* Property Hive: hide ONLY the "For Sale" flag (keep Sold STC, Let Agreed, etc.) */
.flag-for-sale,
.flag.flag-for-sale,
.propertyhive .flag-for-sale,
ul.properties .flag-for-sale,
.single-property .flag-for-sale {
  display: none !important;
}


/* Property Hive: hide ONLY the "To Let" flag */
.flag-to-let,
.flag.flag-to-let,
.propertyhive .flag-to-let,
ul.properties .flag-to-let,
.single-property .flag-to-let {
  display: none !important;
}







/* ===============================
   Property Hive – tidy, responsive layout (CSS-only)
   Works with: <form class="property-search-form-default" ...>
   =============================== */

:root {
  --ph-gap: 12px;
  --ph-radius: 6px;
  --ph-field-height: 46px;
  --ph-border: 2px solid #1c4fa2;   /* change to your brand */
  --ph-border-focus: 2px solid #0d3e86;
  --ph-bg: #fff;
  --ph-text: #222;
  --ph-button-bg: #1c4fa2;          /* change to your brand */
  --ph-button-bg-hover: #0d3e86;
  --ph-button-text: #fff;
}

/* Base grid + reset */
form.property-search-form-default {
  display: grid;
  gap: var(--ph-gap);
  align-items: start;
}
form.property-search-form-default > * { margin: 0; }

/* Fields: consistent height/shape */
form.property-search-form-default input[type="text"],
form.property-search-form-default input[type="search"],
form.property-search-form-default input[type="number"],
form.property-search-form-default select {
  height: var(--ph-field-height);
  padding: 0 12px;
  border: var(--ph-border);
  border-radius: var(--ph-radius);
  background: var(--ph-bg);
  color: var(--ph-text);
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
form.property-search-form-default input:focus,
form.property-search-form-default select:focus {
  outline: none;
  border: var(--ph-border-focus);
}

/* Submit button */
form.property-search-form-default button[type="submit"],
form.property-search-form-default input[type="submit"] {
  height: var(--ph-field-height);
  border: 0;
  border-radius: var(--ph-radius);
  background: var(--ph-button-bg);
  color: var(--ph-button-text);
  font-weight: 700;
  cursor: pointer;
}
form.property-search-form-default button[type="submit"]:hover,
form.property-search-form-default input[type="submit"]:hover {
  background: var(--ph-button-bg-hover);
}

/* ---------- Responsive layout ---------- */

/* Mobile: single column */
@media (max-width: 599px) {
  form.property-search-form-default { grid-template-columns: 1fr; }
  form.property-search-form-default button[type="submit"],
  form.property-search-form-default input[type="submit"] { width: 100%; }
}

/* Tablet: two columns; address + submit full width */
@media (min-width: 600px) and (max-width: 991px) {
  form.property-search-form-default { grid-template-columns: 1fr 1fr; }
  form.property-search-form-default [name="address_keyword"] { grid-column: 1 / -1; }
  form.property-search-form-default button[type="submit"],
  form.property-search-form-default input[type="submit"] { grid-column: 1 / -1; width: 100%; }
}

/* Desktop: 4-column grid; address full width on top */
@media (min-width: 992px) {
  form.property-search-form-default { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  form.property-search-form-default [name="address_keyword"] { grid-column: 1 / -1; }
  form.property-search-form-default button[type="submit"],
  form.property-search-form-default input[type="submit"] { justify-self: end; min-width: 160px; }
}

/* Space above results */
.propertyhive-search-results,
.propertyhive-before-results,
.propertyhive-after-results { margin-top: 16px; }


/* === Brand colours === */
:root {
  --ph-brand: #0D51AD;
  --ph-brand-dark: #0b3f88; /* a touch darker for hover/focus */
}

/* override the earlier variables */
:root {
  --ph-gap: 12px;
  --ph-radius: 6px;
  --ph-field-height: 46px;
  --ph-border: 2px solid var(--ph-brand);
  --ph-border-focus: 2px solid var(--ph-brand-dark);
  --ph-bg: #fff;
  --ph-text: var(--ph-brand);
  --ph-button-bg: var(--ph-brand);
  --ph-button-bg-hover: var(--ph-brand-dark);
  --ph-button-text: #fff;
}

/* Make input/select text your brand colour (including inside selects) */
form.property-search-form-default,
form.property-search-form-default input,
form.property-search-form-default select {
  color: var(--ph-text);
}

/* Placeholder text in brand colour (slightly transparent so it reads as placeholder) */
form.property-search-form-default ::placeholder {
  color: color-mix(in srgb, var(--ph-text) 70%, transparent);
}
@supports not (color: color-mix(in srgb, white, black)) {
  form.property-search-form-default ::placeholder { color: rgba(13,81,173,.7); }
}

/* === Custom dropdown arrow for selects === */
form.property-search-form-default select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 36px;               /* room for the arrow */
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230D51AD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px 14px;
}

/* Hide the old IE/Edge arrow if present */
form.property-search-form-default select::-ms-expand { display: none; }

/* Focus states (border + arrow intensify) */
form.property-search-form-default select:focus {
  border: var(--ph-border-focus);
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230b3f88' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}

/* Button colour already set via variables; ensure text contrast */
form.property-search-form-default button[type="submit"],
form.property-search-form-default input[type="submit"] {
  color: var(--ph-button-text);
}


/* All page titles in brand blue */
h1.page-title,
.entry-title {
  color: #0D51AD !important;
}





/* Remove the extra top rule above the results grid */
ul.properties.clear { border-top: 0 !important; }



/* Remove top border from the first row of results */
@media (min-width: 900px){
  ul.properties.clear > li:nth-child(-n+2){ border-top: 0 !important; }
  /* some themes draw the line with a pseudo-element */
  ul.properties.clear > li:nth-child(-n+2)::before{ display: none !important; }
}




/* Hide the big "search" H1 only on Property Hive results pages */
body:has(form.property-search-form) h1.page-title { 
  display: none !important; 
}






/* Property Hive results: add 10px space above each title */
ul.properties.clear li.property a:first-of-type,
ul.properties.clear li.property .property-thumbnail {
  display: block;
  margin-bottom: 10px !important;
}




/* Property Hive results – price styling */
ul.properties.clear li.property .price {
  font-size: 1.125rem;   /* ≈18px: slightly bigger */
  color: #0D51AD !important;  /* brand blue */
  line-height: 1.3;
}

/* Make the qualifier match the brand colour and bump slightly too */
ul.properties.clear li.property .price .price-qualifier,
ul.properties.clear li.property .price-qualifier {
  color: #0D51AD !important;
  font-size: 1em;  /* inherits from .price; tweak if you want smaller/larger */
}


/* 1) Load a very legible numeral font (no PHP needed) */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@600;700&display=swap");

/* 2) Result title – slightly bigger & brand colour */
ul.properties.clear li.property h2,
ul.properties.clear li.property h2 a,
ul.properties.clear li.property .property-title,
ul.properties.clear li.property .property-title a {
  font-size: 1.5rem;          /* ~24px */
  line-height: 1.25;
  font-weight: 600;
  color: #0D51AD;
}

/* 3) Price – clear numerals in Inter */
ul.properties.clear li.property .price {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.375rem;        /* ~22px */
  line-height: 1.2;
  color: #0D51AD !important;
  letter-spacing: 0.2px;
  font-variant-numeric: lining-nums tabular-nums;
}

/* 4) Qualifier (“Guide Price”) – NOT bold, keep site font */
ul.properties.clear li.property .price-qualifier {
  font-family: inherit !important;  /* stays as your theme font (e.g., Radley) */
  font-weight: 400 !important;      /* cancel bold */
  color: inherit;
  margin-left: 0.25em;              /* tiny breathing space */
}



/* Force bigger property result titles (covers H1/H2/H3 + common classes) */
body ul.properties li.property h1,
body ul.properties li.property h2,
body ul.properties li.property h3,
body ul.properties li.property .property-title,
body ul.properties li.property .property-title a,
body ul.properties li.property .address,
body ul.properties li.property .address a,
body ul.properties li.property .details h2,
body ul.properties li.property .details h3,
body ul.properties li.property .details a.property-title {
  font-size: 1.8rem !important;   /* ≈28–29px */
  line-height: 1.2 !important;
  font-weight: 700 !important;     /* match the price thickness */
}





/* Make room-count match the price font & colour */
ul.properties li.property .room-count,
ul.properties.clear li.property .room-count,
.property-meta .room-count,
.details .room-count {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0.2px;
  color: #0D51AD !important;
}




/* ===== Meta row (Bedrooms/Bathrooms/Receptions) ===== */

/* keep the 10px gap below the price line */
div.room:first-of-type { margin-top: 18px; }

/* lay out each metric inline */
div.room{
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin-right: 28px;            /* space between the three groups */
}

/* number styling */
div.room .room-value{
  color: #0D51AD;
  font-weight: 700;
  font-size: 24px;
  margin-right: 0;               /* gap handled on the icon */
}

/* hide the literal labels */
div.room .room-label{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* icon after the number */
div.room::after{
  content: "";
  display: inline-block;
  width: 32px; height: 32px;
  margin-left: 5px;              /* <<< exact 5px gap */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* correct icon per metric */
div.room.room-bedrooms::after{
  background-image: url("https://upyourstreet.co/wp-content/uploads/2025/09/Screenshot-2025-09-25-132446.png");
}
div.room.room-bathrooms::after{
  background-image: url("https://upyourstreet.co/wp-content/uploads/2025/09/Screenshot-2025-09-25-132610.png");
}
div.room.room-receptions::after{
  background-image: url("https://upyourstreet.co/wp-content/uploads/2025/09/Screenshot-2025-09-25-132619.png");
}

/* mobile tweak */
@media (max-width: 480px){
  div.room .room-value{ font-size: 22px; }
  div.room::after{ width: 28px; height: 28px; }
  div.room{ margin-right: 22px; }
}







/* --- Availability: right aligned, same baseline as icon row --- */
div.availability{
  float: right;
  color: #0D51AD;          /* brand colour */
  font-weight: 700;        /* match price weight */
  font-size: 28px;         /* adjust if you want bigger/smaller */
  line-height: 32px;       /* same as the 32px icon height */
  margin-top: 10px;        /* same top gap as the icon row */
  transform: translateY(-12px) !important;  /* pull up onto the icon row */
}

/* if it still sits a hair off, tweak just this value: -10px to -16px */



/* Nudge "For Sale" higher to sit on the icon row */
div.availability{
  transform: translateY(-42px) !important;  /* increase in 2px steps if needed */
}











/* --- Property Hive: list/map links as centred buttons --- */
.propertyhive-views ul{
  list-style: none;
  margin: 12px 0 20px;
  padding: 0;
  display: flex;
  justify-content: center;   /* centre horizontally */
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;           /* allows tidy wrap on small screens if needed */
}
.propertyhive-views li{ margin: 0; padding: 0; }
.propertyhive-views li::marker{ content: none; }

/* Button look (match Search button) */
.propertyhive-views a{
  display: inline-block;
  background: #0D51AD;
  color: #fff !important;
  padding: 15px 30px;
  border: 0;
  border-radius: 0;          /* square edges */
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
}

/* Hover/focus + active state */
.propertyhive-views a:hover,
.propertyhive-views a:focus{ filter: brightness(0.92); text-decoration: none; }

.propertyhive-views li.active a,
.propertyhive-views li.map-view.active a,
.propertyhive-views li.list-view.active a{ filter: brightness(0.85); }






/* Back to Search Results — align to 1200px content column */
body.single-property .ph-back{
  display:block;
  /* sit just under the header; tweak if you want it lower/higher */
  margin:24px 0 14px;

  /* align left edge with a centered 1200px container */
  padding-left: max(20px, calc((100% - 1200px) / 2));
  padding-right: 20px; /* small right gutter */
  clear: both;
}

@media (max-width: 1200px){
  /* when the layout is narrower than 1200px, just keep small side padding */
  body.single-property .ph-back{
    padding-left: 20px;
    padding-right: 20px;
  }
}

body.single-property .ph-back__link{
  display:inline-flex; align-items:center; gap:8px;
  color:#0D51AD; text-decoration:none; font-weight:500;
}
body.single-property .ph-back__link:hover{ text-decoration:underline; }
body.single-property .ph-back__chev{ font-size:18px; line-height:1; transform:translateY(-1px); }














/* === Big action buttons (no gallery images) === */
body.single-property li[class^="action-"] > a,
body.single-property li[class*=" action-"] > a,
body.single-property a[data-fancybox][data-src^="#makeEnquiry"]{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:700px;
  padding:22px 24px;
  margin:0 0 16px 0 !important;
  background:#0D51AD !important;
  color:#fff !important;
  text-decoration:none !important;
  border-radius:0 !important;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
  font-family:Radley, serif;
  font-size:20px;
  line-height:1.2;
  transition:background .2s ease, transform .1s ease;
}

body.single-property li[class^="action-"] > a:hover,
body.single-property li[class*=" action-"] > a:hover,
body.single-property a[data-fancybox][data-src^="#makeEnquiry"]:hover,
body.single-property li[class^="action-"] > a:focus,
body.single-property li[class*=" action-"] > a:focus,
body.single-property a[data-fancybox][data-src^="#makeEnquiry"]:focus{
  background:#0b4797 !important;
  transform:translateY(-1px);
  outline:none;
}

/* right chevron */
body.single-property li[class^="action-"] > a::after,
body.single-property li[class*=" action-"] > a::after,
body.single-property a[data-fancybox][data-src^="#makeEnquiry"]::after{
  content:"›";
  font-size:28px;
  line-height:1;
  opacity:.95;
}

/* tidy list spacing */
body.single-property li[class^="action-"],
body.single-property li[class*=" action-"]{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}










/* SINGLE PROPERTY — push the blue action block to the bottom of the page content */
body.single-property *:has(> .property_actions) {
  display: flex !important;          /* turn that container into a vertical stack */
  flex-direction: column !important;
}

/* Make the blue block the last item and center it */
body.single-property *:has(> .property_actions) > .property_actions {
  order: 9999;                        /* send to the end */
  margin-top: auto;                   /* push down */
  align-self: center;                 /* center horizontally */
  width: min(90vw, 700px);
  margin-bottom: 10px;                /* space above footer */
  position: static !important;
  transform: none !important;
}

/* Optional: tidy internal spacing */
body.single-property .property_actions ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 1px;
}
body.single-property .property_actions li a {
  display: flex !important; align-items: center; justify-content: space-between;
  width: 100%; padding: 18px 22px;
  background: #0D51AD !important; color: #fff !important; text-decoration: none;
  border-radius: 0; box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

/* Small screens */
@media (max-width: 480px){
  body.single-property *:has(> .property_actions) > .property_actions {
    width: calc(100vw - 24px);
    margin-bottom: 15px;
  }
}




/* Brand text color on single property pages */
body.single-property .summary.entry-summary,
body.single-property .summary.entry-summary h1,
body.single-property .summary.entry-summary h2,
body.single-property .summary.entry-summary p,
body.single-property .summary.entry-summary li,
body.single-property .summary.entry-summary span,
body.single-property .summary.entry-summary a,
body.single-property .entry-content,
body.single-property .entry-content h2,
body.single-property .entry-content p,
body.single-property .entry-content li,
body.single-property .entry-content span,
body.single-property .entry-content a,
body.single-property .entry-content strong,
body.single-property .entry-content em{
  color: #0D51AD !important;
}


/* Brand colour for the lower sections on single property pages */
body.single-property .features,
body.single-property .features * ,
body.single-property .description-contents,
body.single-property .description-contents * {
  color: #0D51AD !important;
}

/* Brand colour for the lower section headings on single property pages */
body.single-property h4,
body.single-property .features h2,
body.single-property .features h3,
body.single-property .features h4 {
  color: #0D51AD !important;
}





/* --- Single Property: Big title + slightly smaller price --- */

/* Property title */
body.single-property .summary.entry-summary h1,
body.single-property h1.property-title{
  font-size: clamp(36px, 4.2vw, 56px); /* much larger */
  line-height: 1.1;
  margin: 0 0 .25em;
  color: #0D51AD; /* brand */
}

/* Price line (e.g., "£400,000 Guide Price") */
body.single-property .summary.entry-summary .price,
body.single-property .summary.entry-summary .price *{
  font-size: clamp(22px, 2.2vw, 32px); /* smaller than title */
  line-height: 1.25;
  color: #0D51AD;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif; /* crisper digits */
  font-variant-numeric: lining-nums tabular-nums; /* tidy numbers */
  font-feature-settings: "lnum" 1, "tnum" 1;
  font-weight: 600;
}







/* Increase space under the price line */
body.single-property .summary.entry-summary .price{
  display: block;
  margin-bottom: 15px !important;
}

/* Safety: ensure the spec list starts 15px down */
body.single-property .summary.entry-summary .property_meta{
  margin-top: 15px !important;
}










/* Hide the "Type:" label on single property pages (keep the value) */
body.single-property .summary.entry-summary .property_meta li.property-type > span:first-child{
  display: none !important;
}



/* Hide "Availability: For Sale" on single property pages */
body.single-property .summary.entry-summary .property_meta li.availability{
  display: none !important;
}




/* Single property: reduce gap between gallery images and title by 25px */
body.single-property .summary.entry-summary{
  margin-top: -35px !important; /* pull the whole summary up */
}











/* Single-property: put the status flag on the TOP-LEFT of the main image */
body.single-property .images{
  position: relative;               /* anchor for the flag */
}

body.single-property .images > .flag{
  position: absolute !important;    /* override inline style */
  top: 12px !important;
  left: 12px !important;            /* stick to left edge */
  right: auto !important;           /* cancel any right value */
  z-index: 99;                      /* stay above the photo */
  /* optional:
  border-radius: 3px;
  */
}

@media (max-width: 640px){
  body.single-property .images > .flag{
    top: 8px !important;
    left: 8px !important;
  }
}








/* Property Hive – space above the Login button on Applicant Login page */
.propertyhive-form.login-form input[type="submit"]{
  margin-top: 15px !important;
  display: inline-block; /* ensure the top margin applies */
}





/* UAGB Icon List labels – only on page 288 */
body.page-id-288 .uagb-icon-list__label strong,
body.page-id-288 .uagb-icon-list__label b {
  color: #0D51AD !important;
}





/* Force Spectra form submit to be FULL width on the live site */
.page-id-406 .uagb-forms-main-submit-button { 
  display: block !important; 
  width: 100% !important;
}

.page-id-406 .uagb-forms-main-submit-button .uagb-forms__submit-button,
.page-id-406 .uagb-forms__submit-button {
  display: block !important;
  width: 100% !important;
  background: #0D51AD !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 14px 22px !important;
  text-align: center !important;
}













/* Page 1271 — Spectra (UAGB) form submit: full width, sharp corners, real hover */
.page-id-1271 .wp-block-uagb-forms .uagb-forms-main-submit-button,
.page-id-1271 .wp-block-uagb-forms .uagb-forms__submit-button {
  display: block !important;
  width: 100% !important;
}

/* Base state */
.page-id-1271 .wp-block-uagb-forms .uagb-forms__submit-button,
.page-id-1271 .uagb-forms-main-submit-button .uagb-forms__submit-button,
.page-id-1271 button.uagb-forms__submit-button[type="submit"],
.page-id-1271 input.uagb-forms__submit-button[type="submit"] {
  background-color: #0D51AD !important; /* brand */
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;          /* sharp corners */
  padding: 14px 22px !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background-color .2s ease-in-out !important;
}

/* Hover/Focus/Active — extra specific to beat Astra/Spectra */
.page-id-1271 .wp-block-uagb-forms .uagb-forms-main-submit-button .uagb-forms__submit-button:hover,
.page-id-1271 .wp-block-uagb-forms .uagb-forms__submit-button:hover,
.page-id-1271 .uagb-forms-main-submit-button .uagb-forms__submit-button:hover,
.page-id-1271 button.uagb-forms__submit-button[type="submit"]:hover,
.page-id-1271 input.uagb-forms__submit-button[type="submit"]:hover,
.page-id-1271 .wp-block-uagb-forms .uagb-forms__submit-button:focus,
.page-id-1271 .wp-block-uagb-forms .uagb-forms__submit-button:active {
  background-color: #094083 !important; /* deeper blue on hover */
  color: #fff !important;
  outline: none !important;
}














/* === Smarter digits (size-matched to Radley) === */
@font-face{
  font-family: "InterDigits";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  /* Tweak this % until the numbers visually match your letters */
  size-adjust: 90%;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/inter/files/inter-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0030-0039, U+003A, U+002D, U+2013, U+2044, U+002E, U+002C, U+00A3, U+00B0;
}
@font-face{
  font-family: "InterDigits";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  size-adjust: 90%; /* keep in sync with the 400 face */
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/inter/files/inter-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0030-0039, U+003A, U+002D, U+2013, U+2044, U+002E, U+002C, U+00A3, U+00B0;
}

/* Use InterDigits for numerals site-wide, Radley for letters */
:root { --digit-stack: "InterDigits", "Radley", var(--ast-body-font-family, serif); }

body, button, input, select, textarea,
h1,h2,h3,h4,h5,h6,
.uagb-heading-text, .uagb-ifb-title, .uagb-post__title{
  font-family: var(--digit-stack) !important;
  font-variant-numeric: lining-nums tabular-nums;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}









/* Consent blurb text – brand blue (asterisk stays as is) */
label#ec7da22d.uagb-forms-accept-label {
  color: #0D51AD !important;
}






/* FAQ links: white when idle, keep theme's hover/focus */
.uys-faq a:not(:hover):not(:focus) {
  color: #fff !important;
  text-decoration: underline;
}





/* Force the Spectra/UAGB modal Close (X) to show and sit top-center
   Works for both .page-id-2035 and .postid-2035 just in case */
@media (max-width: 1024px) {
  .page-id-2035 .uagb-modal-popup-close,
  .postid-2035 .uagb-modal-popup-close,
  .page-id-2035 button[aria-label="Close Modal"],
  .postid-2035 button[aria-label="Close Modal"] {
    position: fixed !important;              /* ignore any clipping parents */
    top: 12px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    z-index: 2147483647 !important;          /* above everything */
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: 44px !important;
    height: 44px !important;
    background: #0D51AD !important;          /* brand blue */
    border-radius: 999px !important;
    border: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    cursor: pointer;
  }

  /* Make sure the icon is visible */
  .page-id-2035 .uagb-modal-popup-close svg,
  .page-id-2035 .uagb-modal-popup-close path,
  .postid-2035 .uagb-modal-popup-close svg,
  .postid-2035 .uagb-modal-popup-close path,
  .page-id-2035 button[aria-label="Close Modal"] svg,
  .page-id-2035 button[aria-label="Close Modal"] path,
  .postid-2035 button[aria-label="Close Modal"] svg,
  .postid-2035 button[aria-label="Close Modal"] path {
    width: 20px !important;
    height: 20px !important;
    fill: #fff !important;
    stroke: none !important;
    display: block !important;
  }

  /* Kill any parent clipping that might still hide it */
  .page-id-2035 .uagb-modal-wrapper,
  .page-id-2035 .uagb-modal-popup,
  .page-id-2035 .uagb-modal-content,
  .postid-2035 .uagb-modal-wrapper,
  .postid-2035 .uagb-modal-popup,
  .postid-2035 .uagb-modal-content {
    overflow: visible !important;
  }
}

/* Slightly smaller on small phones */
@media (max-width: 781px) {
  .page-id-2035 .uagb-modal-popup-close,
  .postid-2035 .uagb-modal-popup-close,
  .page-id-2035 button[aria-label="Close Modal"],
  .postid-2035 button[aria-label="Close Modal"] {
    width: 38px !important;
    height: 38px !important;
    top: 10px !important;
  }
}






/* --- FINAL MINIMAL FIX: stop horizontal scroll without touching layout --- */
@media (max-width: 767.98px) {
  /* 1) Kill horizontal scrolling at the root (some sites need html + body) */
  html { overflow-x: hidden; }
  body { overflow-x: hidden; }

  /* 2) Usual single offenders */
  /* Select2 (Property Hive filters) */
  .select2-container,
  .select2-container .select2-selection--single,
  .select2-container .select2-selection--multiple {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  /* Carousels (slick/swiper) tiny overhang */
  .slick-list, .slick-track, .swiper, .swiper-wrapper { overflow-x: hidden; max-width: 100%; }

  /* Maps/iframes/images try to exceed width */
  img, iframe, video { max-width: 100% !important; height: auto; display: block; }

  /* Off-canvas/mobile header when closed shouldn’t enlarge layout */
  .ast-mobile-popup-drawer[aria-hidden="true"],
  .ast-off-canvas-overlay[aria-hidden="true"] {
    position: absolute; left: -9999px; right: auto; max-width: 100%;
  }
}












/* --- TABLET-ONLY CLONE OF YOUR MOBILE FIX (768–1024px) --- */
@media (min-width:768px) and (max-width:1024px) {
  /* 1) Kill horizontal scrolling at the root */
  html { overflow-x: hidden; }
  body { overflow-x: hidden; }

  /* 2) Usual single offenders (Property Hive Select2) */
  .select2-container,
  .select2-container .select2-selection--single,
  .select2-container .select2-selection--multiple {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  /* Carousels (slick/swiper) tiny overhang */
  .slick-list, .slick-track, .swiper, .swiper-wrapper {
    overflow-x: hidden; max-width: 100%;
  }

  /* Maps/iframes/images trying to exceed width */
  img, iframe, video { max-width: 100% !important; height: auto; display: block; }

  /* Off-canvas/mobile header when closed shouldn’t enlarge layout */
  .ast-mobile-popup-drawer[aria-hidden="true"],
  .ast-off-canvas-overlay[aria-hidden="true"] {
    position: absolute; left: -9999px; right: auto; max-width: 100%;
  }
}











/* --- Keep Save Search below Sort bar, consistent even when switching view --- */
.propertyhive-results-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Ensure Sort bar stays above it */
.propertyhive-results-order,
.propertyhive-results-ordering,
.propertyhive-ordering {
  order: 1;
  width: 100%;
  margin-bottom: 10px;
}

/* View In List / View On Map row (if exists) */
.propertyhive-results-toggle,
.propertyhive-view-toggle {
  order: 2;
  width: 100%;
  margin-bottom: 10px;
}

/* Save Search button – fixed square design under the sort section */
.propertyhive-save-search-button {
  order: 3;
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 15px;
  background: #0D51AD;
  color: #fff !important;
  padding: 12px 25px;
  border: none;
  border-radius: 0; /* completely square corners */
  font-size: 16px;
  font-family: "Radley", serif;
  text-decoration: none;
  line-height: 1.2;
  transition: background 0.2s ease;
}

.propertyhive-save-search-button:hover {
  background: #063b7a;
  color: #fff !important;
}

/* Make sure flex container doesn't push items around */
.propertyhive-results-top > * {
  flex: 0 0 auto;
}









/* Force perfectly square corners on the Save Search button */
a.button.propertyhive-save-search-button,
.propertyhive-save-search-button.button,
.propertyhive-save-search-button,
a.button.propertyhive-save-search-button:hover,
a.button.propertyhive-save-search-button:focus {
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important; /* just in case */
  -moz-border-radius: 0 !important;    /* just in case */
  box-shadow: none;                     /* optional: remove rounded-looking shadow */
  overflow: visible;                    /* ensure no clipping from parent radius */
}








/* Make text fields & selects follow global Body, but leave buttons alone */
input:not([type="submit"]):not([type="button"]):not([type="reset"]),
select,
textarea,
option {
  font: inherit !important;
  line-height: inherit !important;
}

::placeholder {
  font: inherit !important;
  line-height: inherit !important;
}

/* Ensure the PH Search button text is centered */
.propertyhive-search-form input[type="submit"] {
  line-height: 1 !important;
  text-align: center;
  display: inline-block;
}










/* Home – make the "Buy" and "Rent" radio labels 24px (Property Hive) */
.home .propertyhive-search-form .control-department label,
.home .ph-search .control-department label,
.home [class*="control-department"] label {
  font-size: 24px !important;
  line-height: 1.2;
}

/* (optional) slightly enlarge the radio dots */
.home .control-department input[type="radio"] {
  transform: scale(1.1);
}








/* Property Hive: move 'Sold STC' under the icons on results cards */
ul.properties li.property .availability,
.propertyhive .property .availability {
  float: none !important;   /* stop it sitting on the same line as the icons */
  display: block;
  clear: both;              /* force a new line under the features/icons row */
  margin-top: 55px;         /* the requested spacing */


	

	
	
	
	
	
	
	


	