/*
 Theme Name: Kimberly Kramer Real Estate
 Theme URI: https://elementor.com/
 Description: Child theme for the Hello Elementor theme.
 Author: Kimberly
 Author URI: https://kimberlykramer.com
 Template: hello-elementor
 Version: 1.0
*/

/* Custom CSS here */

.kk-overtimes {
  font-family: 'Overtimes', serif !important;
  font-weight: 400;
  text-transform: none;
  line-height: 2;
}

:root{
  --kk-control-h:36px;
  --kk-radius:10px;
  --kk-radius-2:10px;
  --kk-radius-3:10px;

  --kk-border:#e1e1e1;
  --kk-border-2:#dcdcdc;
  --kk-bg:#fff;
  --kk-hover:#ececec;
  --kk-font-family: "Outfit", sans-serif;
  --kk-font-size:14px;
}




html, body {
  overflow-x: hidden;
  width: 100%;
}
.nfd-site-preview-warning {
  display: none !important;
}

@font-face {
  font-family: 'Overtimes';
  src: url('/wp-content/uploads/2025/07/OvertimesRegular.woff2') format('woff2'),
       url('/wp-content/uploads/2025/07/OvertimesRegular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Set spacing above all unordered and ordered lists */
ul, ol {
  margin-top:0em; /* Adjust as needed */
}

/* Hover + focus + active override send message form*/
.elementor-button.elementor-size-sm:not(#kk-search-btn):hover,
.elementor-button.elementor-size-sm:not(#kk-search-btn):focus,
.elementor-button.elementor-size-sm:not(#kk-search-btn):focus-visible,
.elementor-button.elementor-size-sm:not(#kk-search-btn):active {
  background-color: var(--kk-hover) !important; /* set your hover color */
  border-color: #000 !important;
  color: #000 !important;
}

/* remove max-width: 50% causing listings to shrink */
.kv-property-listings .kv-per-row-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* Style all Elementor checkboxes */
.elementor-form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  background-color: transparent;
  border-radius: 2px;
  position: relative;
  cursor: pointer;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

/* Custom checkmark that matches inherited text color */
.elementor-form input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 10px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  pointer-events: none;
}

/* Ensure label or parent color is used */
.elementor-form .elementor-field-option label {
  color: inherit; /* or set a color */
}

@media (max-width: 768px) {
  .elementor-section {
    background-attachment: scroll !important;
  }
}


/* Login Popup */

#kk-login-popup {
  font-family: "Outfit", sans-serif;
  text-align: center;
  margin: 1rem;
}

.kk-title {
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 20px;
}

.kk-input {
  width: 100%;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid #ddd;
  margin-bottom: 20px;
  font-size: 16px;
  background: #fafafa;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  height: auto;
  line-height: 1.4; /* important */
}

/*
.kk-btn {
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 14px;
  border-radius: 12px;
  background: #fafafa;
  border: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  cursor: pointer;
  font-size: 16px;
  transition: 0.2s;
}
*/
.kk-btn:hover {
  background: #f2f2f2;
}

.kk-login-main {
  background: #000;
  color: #fff;
  border-color: #000;
  font-weight: 600;
}

.kk-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 13px;
  margin: 22px 0;
}
.kk-divider span {
  flex: 1;
  height: 1px;
  background: #ddd;
}

.kk-acceptance-checkbox {
  transform: scale(1.3);   /* try 1.2–1.6 */
  transform-origin: left center;
  margin-right: 8px;       /* spacing from label */
}

.kk-forgot a {
  text-decoration: underline;
  font-size: 14px;
}

.kk-bottom-link {
  margin-top: 20px;
  font-size: 14px;
}

.kk-bottom-link a {
  font-weight: 600;
  text-decoration: underline;
}

/* Hide Google-injected elements */
.kk-google div[role="button"],
.kk-google iframe,
.kk-google svg {
  display:none!important;
  width:0!important;
  height:0!important;
}

/* End of Login poput */




.kv-property-listings {
	padding-left: 7.5px;
	padding-right: 7.5px;
}

/* Disable reset.css hover/focus styling for ALL buttons */
[type="button"]:focus,
[type="button"]:hover,
[type="submit"]:focus,
[type="submit"]:hover,
button:focus,
button:hover {
  background-color: unset !important;
  color: unset !important;
  text-decoration: unset !important;
}

/* make Buy and Sell unclickable */
.no-click > a {
  pointer-events: none;
  cursor: default;
}

/* KVCore grid stays; we only neutralize KVCore card internals */
.kv-box {
  position: relative;
  overflow: hidden;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important;
}

/* Hide KVCore’s internals (including hover footer) but keep the kv-box itself in the grid */
.kv-box > * { display: none !important; }

/* Our replacement card */
.kv-box > .kk-property-card { display: flex !important; }

.kk-property-card {
  width: 100%;
  background: #fff;
  /*  box-shadow: 0 6px 18px rgba(0,0,0,.08); */
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0,0,0,.25) !important;
border-radius: 15px;

}
.kk-property-card-link{
  display: block;
  color: inherit;
  text-decoration: none;
}


.kk-property-card-image {
  position: relative;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
  display: block;
  height: 175px;              /* adjust */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  flex: 0 0 auto;
}
.kk-property-card-body { 
  padding: 12px 14px 14px;
  	font-family: var(--kk-font-family) !important; 

  font-size: 14px;      /* match your current address */
  line-height: 1.25;
  color: #666;
 }

 .kk-property-card-body > * {
  margin: 0;
}
.kk-property-card-price {
  font-size: 18px;      /* your price size */
  font-weight: 700;
  line-height: 1.2;
  color: #111;
  margin-bottom: 6px;
}
/* Give consistent vertical rhythm for the rest */
.kk-property-card-address,
.kk-property-card-meta,
.kk-property-card-mls {
  margin-top: 0px;
    white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Optional: keep MLS slightly lighter but same sizing */
.kk-property-card-mls { color: #888; }

/* Heart */
.kk-fav-heart {
  padding: 5px !important;
  position: absolute;
  top: 10px;
  right: 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  cursor: pointer;
  z-index: 5;
  border: 0;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
}
.kk-fav-heart > svg{
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;     /* key: stops flex shrinking */
  display: block !important;
}
.kk-fav-heart[data-on="1"] svg path { fill: #fff; stroke: #fff; }
.kk-fav-heart[data-on="0"] svg path { fill: transparent; stroke: #fff; stroke-width: 1; }

.kk-property-card-image { position: relative; }

.kk-property-card-status{
  position: absolute;
  top: 10px;
  left: 10px;              
  padding: 10px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.60);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .02em;
  z-index: 6;
  pointer-events: none;
}

#elementor-popup-modal-21739 .elementor-element-80f016b{
  width: clamp(260px, 80vw, 300px) !important;
  min-width: clamp(260px, 80vw, 300px) !important;
}
