/*
Theme Name: AXIOM CHILD THEME
Template: axiom
Author: AXIOM Web Development Staff
Author URI: https://axiomad.com
Description: Child Template Theme for AXIOM Produced websites
Version: 1.4.0
Text Domain: AXIOM
*/

/* =========================================================
   0) Fonts (enqueue Typekit via PHP, not here)
   ========================================================= */
@font-face {
  font-family: "Ford Antenna";
  src: url("/wp-content/themes/axiom-child/assets/fonts/fordantenna/FordAntennaExtraCondWGL-Reg.otf") format("opentype");
  font-style: normal;
  font-display: swap;
}

/* =========================================================
   1) Root Tokens
   ========================================================= */
:root {
  /* Brand colors from WP presets remain available via var(--wp--preset--color--*) */
  --ax-text: #222;
  --ax-bg: #fff;
  --ax-link: #1046d5;
  --ax-link-hover: #532ab3;
  --ax-focus: #0b8fdf;

  /* Type scale */
  --ax-body-min: 16px;
  --ax-body-pref: calc(1.05vw + 14px);
  --ax-body-max: 20px;
  --ax-lh: 1.6;

  /* Radius & shadows */
  --ax-radius: 12px;
  --ax-radius-pill: 999px;

  /* Spacing */
  --ax-gap-sm: .5rem;
  --ax-gap: 1rem;
  --ax-gap-lg: 2rem;
}

/* =========================================================
   2) Base / Reset-lite
   (use normalize via enqueue if needed; removed HTML <link> here)
   ========================================================= */
html { box-sizing: border-box; font-size: 100%; -webkit-text-size-adjust: 100%; }
*,*::before,*::after { box-sizing: inherit; }

body {
  display: block;
  position: relative;
  transition: top .8s ease-in-out;
  margin: 0 auto;
  max-width: 100vw;

  color: var(--ax-text);
  background: var(--ax-bg);

  /* Accessible fluid body size, never below 16px */
  font-family:
    "Ford Antenna",
    myriad-pro-condensed,
    "Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,-apple-system,"Apple Color Emoji","Segoe UI Emoji",sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(var(--ax-body-min), var(--ax-body-pref), var(--ax-body-max));
  line-height: var(--ax-lh);

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { display:block; max-width:100%; height:auto; border-style:none; }
figure { margin: 0 0 1rem; }

/* Lists & copy */
p { margin: 0 0 1rem; }
ul,ol { margin: 0 0 1rem 1.25rem; }
li { line-height: 1.5; margin: .25rem 0; }

/* Headings: fluid scale with sensible line-height */
h1,h2,h3,h4,h5,h6 {
  font-family: "Ford Antenna", myriad-pro-condensed, "Inter", system-ui, sans-serif;
  font-weight: 600;
  margin: 0 0 .75rem 0;
  color: #333;
}
h1 { line-height: 1.2;  font-size: clamp(2rem, 2.2vw + 1rem, 3.25rem); }
h2 { line-height: 1.25; font-size: clamp(1.75rem, 1.8vw + .9rem, 2.5rem); }
h3 { line-height: 1.3;  font-size: clamp(1.375rem, 1.2vw + .9rem, 2rem); }
h4 { line-height: 1.35; font-size: clamp(1.125rem, .9vw + .8rem, 1.5rem); }
h5 { line-height: 1.4;  font-size: clamp(1rem, .7vw + .75rem, 1.25rem); }
h6 { line-height: 1.4;  font-size: clamp(.95rem, .6vw + .7rem, 1.125rem); }

/* Entry titles */
h1.entry-title{
    text-transform: capitalize;
  border-bottom: 2px solid #e29300;
  padding: 0 0 10px !important; /* fixed typo padding0 */
  margin: 25px 0 20px 0;
}
h2.entry-title {
    text-transform: capitalize;
  border-bottom: 2px solid #e29300;
  padding: 0 0 10px !important; /* fixed typo padding0 */
  margin:0  0 20px 0;
}
/* Horizontal rule */
hr {
  margin: 1rem 0 !important; /* removed stray 'f' */
  border: 0;
  height: 2px;
  background: #e0e0e0;
}
.wp-block-separator.has-background:not(.is-style-dots){ height: 2px !important; }

/* Links – underline by default, strong focus ring */
a {
  color: var(--ax-link);
  text-decoration: underline;
  text-underline-offset: .12em;
  text-decoration-thickness: .08em;
  transition: color .2s ease-in-out, background-color .2s ease-in-out, text-decoration-color .2s;
}
a:hover { color: var(--ax-link-hover); }
a:focus-visible {
  outline: 3px solid var(--ax-focus);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Buttons & interactive inputs */
.gform_button{
    font-size:24px !important;
    color:#fff !important;
    padding:.5em .75em!important; 
    background-color:var(--wp--preset--color--button-green)!important;
border-radius:12px !important;
    font-weight: bold!important;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button, .button a {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 44px;             /* accessible target size */
  padding: .75rem 1rem;
  font-weight: 700;
  font-size: 1rem;

  color: #000;
  background: #fff;
  border: 2px solid currentColor;
  border-radius: var(--ax-radius-pill);
  transition: filter .2s ease-in-out, background-color .2s, color .2s, border-color .2s;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover, .button a:hover { filter: brightness(.92); }
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.button:focus-visible, .button a:focus-visible {
  outline: 3px solid var(--ax-focus);
  outline-offset: 3px;
}
.wp-block-button__link:hover{
  background-color: rgba(25,22,22,1) !important; color: #fff !important;
}
/* Utilities */
.clearfix::before,.clearfix::after { content:""; display:table; }
.clearfix::after { clear:both; }
.sticky { position: sticky; z-index: 9999; }
.hide { display:none !important; }
.show { display:block !important; }
.mobile { display:none; }
.desktop { display:inherit; }
.pointer { cursor:pointer; }
.no-margin{margin:0!important;}
.rounded-corners { border-radius: 25px; }
.rounded-corners .gb-block-layout-column-inner { border-radius: 25px; }
/* Animations (respect reduced motion) */
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes pulseLarge { from{transform:scale3d(1,1,1)} 50%{transform:scale3d(1.5,1.5,1.5)} to{transform:scale3d(1,1,1)} }
@keyframes pulse { from{transform:scale3d(1,1,1)} 50%{transform:scale3d(1.05,1.05,1.05)} to{transform:scale3d(1,1,1)} }
@keyframes slideInUp { from{transform:translate3d(0,100%,0)} to{transform:translate3d(0,0,0)} }
.animate__pulse { animation: pulse 1s ease-in-out both; }
.animate__slideInUp { animation: slideInUp 1s both; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* =========================================================
   3) Layout Shell
   ========================================================= */
.site-container {
  margin: 0 auto;
  background-repeat: no-repeat;
  background-image: url("https://roysterrealestate.com/wp-content/uploads/2024/07/Street_Texture.jpg");
  background-size: auto;
  background-position: bottom;
}

#site-main {
  z-index: 1;
  position: relative;
  width: 100%;
  max-width: 100vw;
    
  margin-top: calc(140px + var(--admin-bar-h)) !important;

}


/* =========================================================
   4) Header & Navigation
   ========================================================= */
#site-header{
  position: fixed;
  z-index: 99999;
  transition: top .8s ease-in-out;
  max-width: 100vw;
  width: 100%;
  margin: 0 auto;
  height: auto;
  box-shadow: 0 4px 5px rgba(0,0,0,.3);
}

/* Top / secondary nav */
#top-header{
  position: relative;
  background-color: #d3dbe2;
  text-align: right;
  padding: 0 2% 0 0;
  z-index: 100;
}
#top-header li{
  display: inline;
  list-style: none;
  padding: 1% 2%;
}
#top-header li a{
  color: var(--wp--preset--color--dark-red);
  text-decoration: underline;
}
#top-header li a:hover{ color: var(--wp--preset--color--border-gold); }

/* Main nav bar */
#main-header{
  position: relative;
  background-color: var(--wp--preset--color--dark-grey);
  padding: 10px 5%;
  z-index: 105;
  border-bottom: 2px solid #fff;
  box-shadow: inset 0 4px 5px rgba(0,0,0,.3);
max-height: 150px;
}



/* Header widget logo */
#main-header-widget-1.header-widget { 
    flex-basis: 28% !important;
    margin-top: -25px;
    overflow: hidden;
}
#main-header-widget-1.header-widget img{
  position: relative !important;
  z-index: 150 !important;
  max-height: 160px;
  width: auto;
    margin:0!important;
}

.homepage-map-image-columns .gb-block-layout-column-inner{
    height: 100% !important;
}
/* ========= Base container (figure) ========= */
.map-image{
  --accent: #5cd3ff;     /* hover border/glow */
  --radius: 14px;        /* rounded corners */
  --duration: .45s;      /* animation timing */
  position: relative;
  display: inline-block;
  margin: auto;
}

/* Link wraps the image (WP default) */
.home-map-image a{
  display: block;
  position: relative;    /* anchor for ::before/::after */
  border-radius: var(--radius);
  overflow: hidden;      /* clip zoom/shine */
  text-decoration: none;
  outline: none;
}

/* Image (the only thing that animates on hover/focus) */
.home-map-image img{
  max-width: 750px;
      height:auto;
  display: block;
  transform-origin: center;
  transition: transform var(--duration) ease, filter var(--duration) ease;
    margin:0 auto;
}

/* Caption: ALWAYS visible, no hover transitions */
.home-map-image figcaption{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  display: flex; align-items: center; justify-content: center;
  padding: .75em 1em;
  color: #fff;
  
  background: linear-gradient(to top, rgba(84,98,107,1), rgba(84,98,107,.5));
  z-index: 2;                 /* above the image */
  pointer-events: none;       /* clicks still go to the link */
    font-size: 30px;
    font-weight: bold;
}
.home-map-image:hover figcaption{
  
  color: #ffc700;
  
}
/* Accent border/glow on the link (image area) */
.home-map-image a::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius);
  box-shadow: 0 0 0 0 var(--accent) inset;
  transition: box-shadow var(--duration) ease, opacity var(--duration) ease;
  pointer-events: none;
  opacity: 0;
}

/* “Shine” sweep across the image area */
.home-map-image a::after{
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 120%;
  height: 100%;
  transform: skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
  pointer-events: none;
}

/* ====== Hover/focus: IMAGE ONLY ====== */
.home-map-image a:hover img,
.home-map-image a:focus-visible img{
  transform: scale(1.08);
  filter: saturate(1.06) contrast(1.02);
}
.home-map-image a:hover::before,
.home-map-image a:focus-visible::before{
  box-shadow: 0 0 0 2px var(--accent) inset, 0 10px 26px rgba(0,0,0,.35);
  opacity: 1;
}
.home-map-image a:hover::after,
.home-map-image a:focus-visible::after{
  animation: mapShine 900ms ease forwards;
}

@keyframes mapShine{
  from { left: -150%; }
  to   { left: 150%; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .home-map-image img,
  .home-map-image a::before{
    transition: none !important;
  }
  .home-map-image a::after{
    animation: none !important;
  }
}



/* =========================================================
   5) Footer
   ========================================================= */
#site-footer{background-color: #424d52;
  border-bottom: 5px solid #ffc700;
padding: 3% 5%;
  color: #fff;}

#main-footer {
    max-width: 1800px;
    margin: 0 auto;
  position: relative;
  display: flex; 
    flex-flow: row nowrap !important; 
    justify-content: space-between !important;
  align-content: flex-start; align-items: flex-start;
  gap: 2rem !important;

  
  

  font-family: Arial, sans-serif;
  font-size: clamp(.95rem, .3vw + .9rem, 1.0625rem) !important;
  line-height: 1.6;
}
.footer-widget { 
    padding: 0 25px;
    flex: auto !important;
white-space: nowrap!important;}
.footer-widget p { font-size: inherit; }
.footer-widget a { color: #ffc700; text-decoration: underline; }

.footer-widget:nth-of-type(-n+3){
  border-right: 1px solid var(--wp--preset--color--border-gold);
  margin: 20px 0;
  align-self: stretch;
}
.site-footer .copyright-line,
.site-footer .copyright-line * {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.site-footer code .copyright-line { /* in case a code wrapper still sneaks in */
  font-family: inherit;
  background: none;
  padding: 0;
}

/* =========================================================
   6) Components / Patterns
   ========================================================= */
.dana-photo{
    border:2px solid #fff;
}
/* Featured image */
.featured-image,
.featured-image img {
  width: 100%; max-width: 100vw; height: auto; object-fit: cover; object-position: center;
}

/* Page title */
.page-title{
  padding: 20px 0;
  background-color: red;
  color: #fff;
  text-align: center;
}

/* Breadcrumbs */
.breadcrumbs{
  padding: .5rem .75rem; margin: 0 0 1.25rem; list-style: none;
  background: #f2f4f7; border-radius: .5rem; font-size: .95rem;
}
.breadcrumbs a{ color: var(--ax-link); text-decoration: underline; }
.breadcrumbs a:hover{ color: #ff0000; }

/* Inner content wrapper */
.inner-content{ margin: 0 auto; padding: 0; }

/* Gutenberg buttons */
.wp-block-buttons{ gap: 15px !important; }
.wp-block-button__link {
  font-size: clamp(20px, 1vw + 18px, 24px) !important;
  line-height: 1.2 !important;
  padding: 10px 15px !important;
}
.wp-block-button__link img {
    display: inline;
  width: auto !important;
  max-height: clamp(20px, 1vw + 18px, 24px) !important;
  margin-right: 5px;
}

/* Link palette variant */
.has-light-green-white-links a { color: #72b644; }
.has-light-green-white-links a:hover { color: #fff; }

/* Orange button variant */
.button-orange a{
  border: 2px solid transparent;
  background-color: orange;
  color: #fff !important;
  padding: 10px 20px;
  border-radius: var(--ax-radius-pill);
  text-decoration: none;
}
.button-orange a:hover{
  border-color: orange;
  background-color: #fff;
  color: orange !important;
}

/* Featured property CTA */
.featured-property-view-listings-button{
  text-align: center;
  width: fit-content;
  cursor: pointer;
  border: thick solid var(--wp--preset--color--border-gold);
  padding: 10px;
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  border-radius: 50px;
  font-size: 40px;
  display: block;
  margin: auto;
}
.featured-property-view-listings-button .fa-solid{ padding-left: 20px; }
.featured-property-view-listings-button a{ color: var(--wp--preset--color--border-gold); text-decoration: none; }

/* Page-specific helpers */
#menu-footer-menu li a{ color: blue; }
#menu-footer-menu li a:hover{ color: purple; }

/* Footer widgets misc */
#main-footer-widget-1 { text-align: right; }

#main-footer-widget-4 a{ color: #fff; display: grid; }
#main-footer-widget-4 p{ white-space: nowrap; }

/* Sub header menu */
#menu-sub-header-menu{ padding: 10px 0; }

/* Gravity Forms wrapper */
#gform_wrapper_1{ padding: 40px; }
.privacy-policy{ padding: 10px 40px; }

/* Borders */
.commercial-border{ border: 1px solid #e49b17; }
.residential-border{ border: 1px solid #930000; }



/* Property card palette */
:root {
  --building-color: #ff9800;
  --house-color: #930000;
  --shop-color: #7b1fa2;
  --warehouse-color: #e49b17;
}

.property {
  display: flex; align-items: center; justify-content: center; gap: 15px;
  color: #fff; font-size: 14px; padding: 8px;  width: auto; position: relative;
  border-radius: 8px; transition: all .3s ease-out;
    box-shadow: 2px 2px 2px rgba(0,0,0,.5);
    border:1px solid #fff;
}
.property .icon{ display:flex; align-items:center; justify-content:center; color:#fff; }
.property .icon svg{ height: 20px; width:auto; }
.property .icon img{ height: 50px; width:auto; }
.property .details{ display:none; flex:1; flex-direction: column; }

.property .address{ color: #9e9e9e; font-size: 10px; margin: 5px 0 10px; }
.property .features{
  color:#244a77; display:flex; flex-direction: row; align-items: flex-end; justify-content: space-between;
  gap:10px; margin:5px 0;
}
.property .features > div{
  display:flex; align-items:center; gap:5px;
  background:#f5f5f5; border:1px solid #ccc; border-radius:5px; font-size:10px; padding:5px;
}
.property .features.links > div { cursor:pointer; }

.property.highlight{
  display:block; 
    cursor:pointer; 
    border-radius:8px;
  box-shadow: 2px 2px 2px rgba(0,0,0,.5);
  height:auto; padding: 8px; width:auto;
}
.property.highlight .details{ display:flex; }

.property .bed{ color:#ffa000; }
.property .bath{ color:#03a9f4; }
.property .size{ color:#388e3c; }

/* :has() usage retained */
.property:not(.highlight):has(.fa-house) { background-color: var(--house-color); }

.property:not(.highlight):has(.fa-building) { background-color: var(--building-color); }

.property:not(.highlight):has(.fa-warehouse) { background-color: var(--warehouse-color); }

.property:not(.highlight):has(.fa-shop) { background-color: var(--shop-color); }

/* Map CTA buttons */
#map-contact-buttons{
  display:flex; justify-content:flex-start; align-items:center; gap:5px; margin:25px 0;
}
#map-contact-buttons a{
  display:flex; 
    align-items:center; gap:5px;
  padding:10px 15px; color:#fff; border-radius:12px;
  font-size: clamp(18px, 1vw + 16px, 24px); line-height: 1.2;
  white-space: nowrap; text-decoration: none;
    font-weight: bold;
    text-transform: uppercase;
    background-color:var(--wp--preset--color--button-green);
}

/* Search results tiles */
.search-filter-results{ margin:0 auto; max-width:1400px; }
#search-results{
  padding: 0; display:flex; flex-flow: row wrap; justify-content: space-between; align-items: center; gap: 2em;
}
.home-tile{
  list-style:none; position:relative; flex-basis:48%;
  border: 1px solid var(--wp--preset--color--dark-grey); margin:0; padding:0;
    background-color:var(--wp--preset--color--section-grey);
}

/* Search property sections */
.search-property-container{
  margin: 5% 5% 5% 0; padding: 2% 5%;
  border-radius: 0 25px 25px 0;
}
#search-property-container-residential{
  background: linear-gradient(to right, rgba(96,107,115,.2), rgba(96,107,115,1) 80%);
}
#search-property-container-commercial{
  background: linear-gradient(to right, rgba(211,33,39,.2), rgba(211,33,39,1) 80%);
}

.search-property-columns{
  width:100%; display:flex; flex-flow: row nowrap; justify-content:center; align-items:flex-start; gap: 2em;
}
.search-property-col1{ position:relative; flex-basis:50%; }
.search-property-col2{ position:relative; flex-basis:50%; color:#fff; padding: 0 10%; }

.search-property-image img{ width:100%; height:auto; display:block; }
.search-property-image-title{
  position:absolute; inset: 0 0 auto 0; padding:1rem 2rem;
  font-size: 20px; text-align:left; color:#fff;
  background: linear-gradient(to right, rgba(0,0,0,.75), rgba(0,0,0,.25) 80%);
}
.search-property-category{ font-size: 24px; font-weight: 600; }
.search-property-details{
  position:absolute; left:0; right:0; bottom:0;
  display:flex; flex-flow: row wrap; justify-content:space-between; align-items:center; gap:5px;
  margin:0; padding:0 10px 0 0;
  background: rgba(255,255,255,.8);
}
.featured-detail,
.search-detail{
  display:flex; flex-flow: column nowrap; align-items:center; text-align:center;
  color:#414343; font-size:18px; margin:0; padding:0;
}
.fa-solid{ font-size: clamp(18px, 1.2vw + 16px, 32px); line-height: 1; }

.featured-property-availability,
.search-property-availability{
  display:flex; align-items:center; justify-content:center;
  flex-basis:auto; 
    height: 80px !important; padding:.5em .75em;
  color:#fff; background: var(--wp--preset--color--dark-grey);
  text-transform: uppercase; font-weight: 700;
  font-size: clamp(18px, 1.2vw + 16px, 32px);
    line-height: 100% !important;
}

.commercial-bg{ color:#fff; background-color:#efac1c; }
.residential-bg{ background-color:#930000; }

.featured-property-navigation,
.search-property-navigation{
  flex-basis:auto; display:flex; flex-direction:row; align-items:center; gap:5px;
}
.search-property-navigation a{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 12px; padding: 8px 16px;
  color:var(--wp--preset--color--paragraph-text-grey); 
    background-color: var(--wp--preset--color--button-yellow);
  text-transform: uppercase; 
  font-size: clamp(18px, .8vw + 16px, 24px); text-decoration:none;
    white-space: nowrap;
    font-weight: bold;
}
.search-property-navigation a:hover{
  background-color: rgba(25,22,22,1.00);
    color:#fff;
}
#search-property-container-residential .search-property-details-button a{ background-color: #930000; }
#search-property-container-residential .search-property-details-button a:hover{ background-color: #e49b17; }
#search-property-container-commercial .search-property-details-button a{ background-color: #e49b17; }
#search-property-container-commercial .search-property-details-button a:hover{ background-color: #930000; }

.search-property-category-header h2{
  color:#fff !important; text-align:center; text-transform:uppercase; font-weight: 800;
}
.search-property-divider{
  margin:0; padding:0; width:100%; height:2px; background:#ffc700; border:none;
}
.search-property-description{
  font-size: clamp(18px, 1vw + 16px, 20px);
  line-height: 1.5;
  text-align: justify;
  padding: 20px 0;
}

/* Featured property adjustments */
.featured-property-details{ height: max-content !important; }
.featured-detail{ align-self: stretch; height: auto !important; }
.featured-property-navigation{ margin: 10px 10px 10px 0; padding: 10px 0; }
.featured-property-col1,.featured-property-col2{ align-self: center; }
.featured-property-category-header h2{ color:#fff; font-weight: 800; }

/* Residential/Commercial detail pages */
.property-details-header{
  justify-content: center !important;
  background: var(--wp--preset--color--section-grey);
  border-bottom: 2px solid var(--wp--preset--color--border-gold);
  margin: auto !important;
}
.property-details-heading{ text-align:center; }
.property-details-image{
  border: none !important;
  background: var(--wp--preset--color--section-grey);
}

.property-details .home-icons-details{
  font-size: xx-large !important; color: var(--wp--preset--color--dark-grey);
}
.property-details-image .navigation{ top: 10px; bottom: auto; }

/* Accordion (custom script) */
.accordion-title::before { /* content: "\f139"; */ }
.open { display:block; }
.closed{ display:none; }

/* =========================================================
   8) Search & Filter Pro (forms)
   ========================================================= */
.searchandfilter{
  text-align:center; margin:0 auto; max-width:1400px;
}
.searchandfilter h4{
  color: var(--wp--preset--color--dark-red);
  font-weight: 800; text-transform: uppercase; margin:0; padding:0;
}
.searchandfilter ul{
  background:#efefef; border-radius: 20px;
  width:auto !important; margin:0 auto; padding: 15px 20px;
  display: inline-flex; flex-flow: row wrap; justify-content:center; gap:25px; text-align:center;
}
.searchandfilter ul li{ display:block; padding:0; margin:0; align-self:center; flex-basis:auto; }
.searchandfilter .meta-slider{
  margin:10px 0; height:15px; max-width:90% !important;
}
.searchandfilter .noUi-connect{ background-color: var(--wp--preset--color--border-gold); }
.searchandfilter a{
  color: var(--wp--preset--color--dark-red);
  font-style: italic; text-transform: uppercase; text-decoration: underline;
}

form.searchandfilter input,
.sf-input-select {
  border-radius: 0; border: none; padding: 5px; background:#fff;
}

a.search-filter-reset{
  border-radius: 0;
  background:#555 !important; color:#fff; border:none;
  text-transform: uppercase; padding:10px 15px; font-weight: 700; text-decoration: none;
}
.sf-field-submit input[type="submit"]{
  border-radius: 0; background: var(--wp--preset--color--button-green) !important; color:#fff;
  border:none; text-transform: uppercase; padding:10px 15px; font-weight: 700;
}

.results-data{ font-size: 18px; margin: 15px auto; text-align: center; }

/* =========================================================
   9) Media Queries
   ========================================================= */
@media (max-width: 1680px) {
  #site-main {
  /* 190px = your header height; adjust if your header size changes */
  margin-top: calc(150px + var(--admin-bar-h)) !important;
}
}
@media (max-width: 1440px) {
  #site-main { margin: 140px auto 0; }
}

@media (max-width: 1180px) {
  #menu-footer-menu-1{ display:flex; flex-flow: column nowrap !important; }
  #nav_menu-3 li{ padding: 20px 0; }
  .menu-item-185{ border-right: none; }

  .featured-property-container{ height:auto !important; }
  .home-tile { border: 1px solid var(--wp--preset--color--dark-grey); }
  .search-property-image-title{ bottom: auto; }

  .gb-block-layout-column-gap-2{ display:flex; }

  /* Property details layout */
  .property-details-image{
    display:flex !important; flex-flow: column-reverse nowrap;
  }
}

@media (max-width: 1024px) {
  .footer-widget:first-of-type{ flex-basis:40% !important; }
  .footer-widget:nth-of-type(2){ flex-basis:40% !important; border-right: none !important; }
  .footer-widget:nth-of-type(3){ flex-basis:40% !important; }
  .footer-widget:nth-of-type(4){ flex-basis:40%; }

  #map-contact-buttons{
    display:flex; flex-flow: column; align-items:center; gap:5px; margin: 0 0 15px;
  }
}

@media (max-width: 980px) {
  #site-main { margin: 150px auto 0; }
}

@media (max-width: 820px) {
  .search-results-map-columns{
    display:grid; grid-template-columns: 32% 1fr; grid-template-areas: "mapcol1 mapcol2"; column-gap:20px;
  }

  .gb-block-layout-column-gap-2,
  .gb-layout-column-wrap{ display:flex; flex-flow: column nowrap !important; }

  #menu-footer-menu-1{ display: inline-block; }
  #nav_menu-3 li{ padding: 0 20px; }
  .menu-item-185{ border-right: 1px solid var(--wp--preset--color--border-gold); }
  #nav_menu-3 { text-align:center; }
}

@media (max-width: 819px) {
  #site-main { margin: 120px auto 0; }
  .mobile{ display: inherit !important; }
  .desktop{ display: none !important; }

  .home-tile{ flex-basis: 100%; }

  .search-results-map-columns{ display:flex; flex-flow: column nowrap !important; }
  .mapcol1{ display:flex; justify-content: space-between; gap:15px; }
  .map-properties ul{ column-count: 2; column-gap: 10px; }

  #map{ min-height: 300px; }

  #map-contact-buttons{ flex-flow: column; align-items:center; gap:5px; margin: 15px 0; }

  .footer-widget:nth-of-type(-n+3){
    border-right: none;
    border-bottom: 1px solid var(--wp--preset--color--border-gold);
    text-align: center; margin: 20px 0;
  }
  #main-footer-widget-1{ text-align: center; }

  .featured-property-columns{ flex-flow: column-reverse nowrap !important; }
  .featured-property-col1{ padding: 10px 0; }
}

@media (max-width: 600px) {
  #featured-property-container-residential{ background: rgba(96,107,115,1); }
  #featured-property-container-commercial{ background: rgba(148,23,27,1); }
  #site-main { margin: 100px auto 0; }

  .dana-photo{ max-width:48% !important; height:auto !important; }

  .mapcol1{ display:flex; flex-flow: column; gap:15px; }
  .map-properties ul{
    column-count: 1; margin:0 0 10px; padding:0 0 20px; list-style:none; border-bottom: 2px solid #e29300;
  }

  #main-footer{ flex-flow: column nowrap !important; }
}

@media (max-width: 400px) {
  .dana-photo{ max-width:40% !important; height:auto !important; }
  .search-property-details{
    position: relative; bottom: auto; background: rgba(255,255,255,.8);
    display:flex; flex-flow: row wrap; justify-content:space-between; align-items:center; gap:5px;
    padding: 0 10px 0 0; margin:0;
  }
}
/* ===== HOTFIX: Header + Search Results (place at very end) ===== */

/* Force header to be fixed at top by default */
#site-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100%;
}

/* If your scroll JS toggles these, keep them working */
.nav-up  { top: -180px !important; }
.nav-down{ top: 0 !important; }

/* Ensure main content starts below header height (adjust if needed) */

/* Reinstate search results layout */
/* 3-up grid for search results */
.search-filter-results #search-results,
#search-results {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;                /* space between tiles */
  align-items: stretch;     /* make tiles equal height */
  padding: 0;
  margin: 0;
  list-style: none;         /* if it's a <ul> */
}

/* Make each child act like a full-height card */
#search-results > * {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Responsive: 2-up on medium screens */
@media (max-width: 1100px) {
  .search-filter-results #search-results,
  #search-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Responsive: 1-up on small screens */
@media (max-width: 640px) {
  .search-filter-results #search-results,
  #search-results {
    grid-template-columns: 1fr;
  }
}

/* Optional: make pagination span full width if it’s inside #search-results */
#search-results .pagination {
  grid-column: 1 / -1;
}


/* Individual tiles keep their intended sizing/border */
#search-results .home-tile,
.home-tile {
  list-style: none;
  position: relative;
  flex-basis: 48%;
  border: 1px solid var(--wp--preset--color--dark-grey);
  margin: 0;
  padding: 0;
}

/* Map/grid columns reinforce grid if another style overrides it */
.search-results-map-columns {
  display: grid !important;
  grid-template-columns: 30% 1fr;
  grid-template-areas: "mapcol1 mapcol2";
  column-gap: 20px;
}

/* Mobile fallbacks preserved */
@media (max-width: 819px) {
  #search-results { flex-basis: 100% !important; }
  .home-tile { flex-basis: 100% !important; }
  .search-results-map-columns { display: flex !important; flex-flow: column nowrap !important; }
}
/* ===== WP Admin Bar compatibility ===== */

/* Ensure the admin bar is on top and fixed */
#wpadminbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100001; /* above site header/content */
}

/* Define an admin bar height variable only when logged in */
:root { --admin-bar-h: 0px; }
body.admin-bar { --admin-bar-h: 32px; }           /* default desktop */
@media (max-width: 782px) {
  body.admin-bar { --admin-bar-h: 46px; }         /* WP’s mobile admin bar height */
}

/* Offset your fixed header to sit below the admin bar */
#site-header {
  top: var(--admin-bar-h) !important;
}

/* Keep your scroll behavior working with the new offset */
.nav-up  { top: calc(var(--admin-bar-h) - 180px) !important; }
.nav-down{ top: var(--admin-bar-h) !important; }

