/*
 Theme Name:   Summer Theme
 Theme URI:    https://generatepress.com
 Description:  Luxury Real Estate Theme
 Author:       Jordan Kayle
 Template:     generatepress
 Version:      0.1
*/

/* Template Styling */

.neighborhood-research-box{
	padding: 0 10px;
}

.frm_button_submit.frm_final_submit {
	background-color: var(--accent);
}

.frm_forms.frm_style_footer-lead-capture.with_frm_style {
	width: 100%;
}

#form_footer-lead-capture .frm_button_submit {
	background-color: var(--accent);
	height: 45px;
}


#form_footer-lead-capture .frm_form_fields .frm_fields_container {
	align-items: baseline;
}

.step-tab-items img{
	margin-bottom: 20px;
}

.home .home-value-container.uses-video.uses-image {
	height: 100vh !important;
	max-height: 320px;
}

/* ================================================
   WB — Stephanie Hastings proof
   01 · Tokens & base
   ================================================ */
:root{
  --wb-ink:#000;--wb-paper:#fff;--wb-grey:#c6c6c6;
  --wb-serif:'Cinzel',serif;
  --wb-sans:'Libre Franklin',sans-serif;
  --wb-nav:'Cormorant Garamond',serif;
  --wb-pad:clamp(64px,9vw,96px);
  --wb-overlay:rgba(0,0,0,.4);
}
.wb{font-family:var(--wb-sans);font-size:15px;line-height:1.75;color:var(--wb-ink);background:var(--wb-paper);}
.wb h1,.wb h2,.wb h3,.wb h4,.wb .wb-serif{font-family:var(--wb-serif);text-transform:uppercase;font-weight:400;line-height:1.15;margin:0 0 .5em;letter-spacing:.02em;}
.wb h1{font-size:clamp(38px,6vw,70px);}
.wb h2{font-size:clamp(26px,3.5vw,38px);}
.wb h3{font-size:clamp(21px,2.6vw,30px);}
.wb h4{font-size:clamp(16px,2vw,21px);}
.wb--dark{background:#000;color:#fff;}

/* 02 · Buttons */
.wb-btn{display:inline-block;font-family:var(--wb-sans);font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:13px;padding:18px 44px;border:1px solid currentColor;background:transparent;color:inherit;text-decoration:none;transition:background .3s,color .3s,border-color .3s;cursor:pointer;}
.wb:not(.wb--dark) .wb-btn:hover{background:#000;color:#fff;border-color:#000;}
.wb--dark .wb-btn:hover{background:#fff;color:#000;border-color:#fff;}

/* 03 · Scroll reveal */
.wb-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.wb-reveal.wb-in{opacity:1;transform:none;}

/* 04 · Featured video poster + fullscreen lightbox */
.wb-fv{position:relative;width:100%;}
.wb-fv-open{display:block;width:100%;aspect-ratio:var(--wb-fv-ratio,3/2);border:0;padding:0;cursor:pointer;background-size:cover;background-position:center top;background-color:#111;}
.wb-fv-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .25s;}
.wb-fv-dot{width:50px;height:50px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.wb-fv-dot svg{width:11px;height:13px;fill:#000;transform:translateX(1px);}
@media (hover:hover){.wb-fv-open:hover .wb-fv-ring{background:rgba(255,255,255,.3);}}
@media (max-width:600px){.wb-fv-ring{width:64px;height:64px;}.wb-fv-dot{width:42px;height:42px;}}
.wb-fv-modal{position:fixed;inset:0;z-index:99999;background:#000;opacity:0;transition:opacity .3s;}
.wb-fv-modal.wb-on{opacity:1;}
.wb-fv-frame{width:100%;height:100%;}
.wb-fv-frame iframe{width:100%;height:100%;border:0;display:block;}
.wb-fv-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));width:48px;height:48px;background:transparent;border:0;cursor:pointer;z-index:2;}
.wb-fv-close::before,.wb-fv-close::after{content:'';position:absolute;left:50%;top:50%;width:32px;height:1.5px;background:#fff;box-shadow:0 0 6px rgba(0,0,0,.6);}
.wb-fv-close::before{transform:translate(-50%,-50%) rotate(45deg);}
.wb-fv-close::after{transform:translate(-50%,-50%) rotate(-45deg);}

/* 05 · Social icons */
.wb-soc{display:flex;gap:12px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.wb-soc li{margin:0;padding:0;}
.wb-soc a{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid currentColor;border-radius:50%;color:#000;background:transparent;transition:background .25s,color .25s;}
.wb-soc a svg{width:18px;height:18px;fill:currentColor;display:block;}
.wb-soc a:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.wb-soc--light a{color:#fff;}
@media (hover:hover){
  .wb-soc a:hover{background:#000;color:#fff;border-color:#000;}
  .wb-soc--light a:hover{background:#fff;color:#000;border-color:#fff;}
}

/* 06 · Reduced motion */
@media (prefers-reduced-motion:reduce){
  .wb-reveal{opacity:1!important;transform:none!important;}
  .wb-reveal,.wb-fv-modal,.wb-fv-ring,.wb-btn,.wb-soc a{transition:none!important;}
}

/* 07 · Stats row */
.wb-statsrow{display:grid;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:0 auto;padding:clamp(10px,3vw,30px) 20px;color:#fff;text-align:center;}
.wb-statx{position:relative;padding:10px clamp(16px,3vw,45px);}
.wb-statx:not(:last-child)::after{content:'';position:absolute;right:0;top:12px;bottom:12px;width:1px;background:currentColor;opacity:.5;}
.wb-statx-num{font-family:var(--wb-serif);font-size:clamp(40px,5.5vw,68px);line-height:1.2;white-space:nowrap;}
.wb-statx-label{font-family:var(--wb-sans);font-size:clamp(13px,1.5vw,16px);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;line-height:1.5;margin-top:14px;max-width:230px;margin-left:auto;margin-right:auto;}
@media (max-width:700px){
  .wb-statsrow{grid-template-columns:1fr;}
  .wb-statx{padding:17px 10px;}
  .wb-statx:not(:last-child)::after{display:none;}
  .wb-statx-label{margin-top:8px;}
}

/* 08 · Gallery cards */
.wb-card{position:relative;overflow:hidden;}
.wb-card::before{content:'';position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transform:translateZ(0) scale(1.001);transition:transform .75s ease-out!important;will-change:transform;z-index:0;}
.wb-card::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.35);transition:background .45s ease!important;z-index:0;}
.wb-card > *{position:relative;z-index:1;}
.wb-card .wb-card-title{position:relative;transition:transform .45s ease!important;}
.wb-card .wb-card-title::after{content:'';position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);width:75%;height:1px;background:currentColor;opacity:0;transition:opacity .45s ease,transform .45s ease!important;}
@media (hover:hover){
  .wb-card:hover::before{transform:translateZ(0) scale(1.06);}
  .wb-card:hover::after{background:rgba(0,0,0,.75);}
  .wb-card:hover .wb-card-title{transform:translateY(-45px);}
  .wb-card:hover .wb-card-title::after{opacity:.5;transform:translateX(-50%) translateY(18px);}
}

/* 09 · IDX listings carousel (impress) */
.impress-carousel{font-family:var(--wb-sans);}
.impress-carousel a{text-decoration:none;}
.impress-carousel .impress-carousel-property{text-align:center;padding-bottom:10px;}

/* photo */
.impress-carousel .impress-carousel-photo{position:relative;display:block;overflow:hidden;}
.impress-carousel .impress-carousel-photo img{width:100%;height:315px;object-fit:cover;transform:translateZ(0) scale(1.001);transition:transform .75s ease-out!important;}
@media (max-width:768px){.impress-carousel .impress-carousel-photo img{height:220px;}}

/* price → black badge, top right (Bridget's label spot) */
.impress-carousel .impress-price{position:absolute;top:0;right:0;background:#000;color:#fff;font-size:13px;font-weight:700;letter-spacing:1.5px;padding:6px 18px;z-index:2;}

/* hover: white veil + VIEW PROPERTY + slow zoom */
.impress-carousel .impress-carousel-photo::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.75);opacity:0;transition:opacity .3s ease;z-index:1;}
.impress-carousel .impress-carousel-photo::after{content:'VIEW PROPERTY';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #000;color:#000;font-size:13px;font-weight:600;letter-spacing:2px;padding:14px 28px;white-space:nowrap;opacity:0;transition:opacity .3s ease;z-index:2;}
@media (hover:hover){
  .impress-carousel .impress-carousel-photo:hover::before,
  .impress-carousel .impress-carousel-photo:hover::after{opacity:1;}
  .impress-carousel .impress-carousel-photo:hover img{transform:translateZ(0) scale(1.05);}
}

/* text stack */
.impress-carousel .impress-address{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#000;margin:20px 0 6px;}
.impress-carousel .impress-street{display:block;font-family:var(--wb-serif);font-size:21px;font-weight:400;letter-spacing:.5px;color:#000;margin-bottom:8px;}
.impress-carousel .impress-beds-baths-sqft{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#000;margin:0;}
.impress-carousel .impress-beds-baths-sqft span:not(:last-child)::after{content:'  |  ';font-weight:400;opacity:.4;}

/* 09 nav — relocated to header slot */
.impress-carousel .owl-nav{display:none;}
.impress-carousel .owl-dots{display:none!important;}
.wb-lnav .owl-nav{display:flex;justify-content:flex-end;gap:34px;}
.wb-lnav .owl-nav button{background:none!important;border:0!important;padding:0!important;margin:0!important;cursor:pointer;}
.wb-lnav .owl-nav button i{display:none;}
.wb-lnav .owl-nav button span{position:relative;font-family:var(--wb-sans);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#000;}
.wb-lnav .owl-nav button span::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:#000;opacity:0;transition:opacity .3s;}
.wb-lnav .owl-next{position:relative;}
.wb-lnav .owl-next::before{content:'';position:absolute;left:-17px;top:50%;transform:translateY(-50%);width:1px;height:12px;background:#000;}
@media (hover:hover){.wb-lnav .owl-nav button:hover span::after{opacity:1;}}

/* 09b · tweaks */
.impress-carousel .impress-carousel-property{text-align:center!important;}
.impress-carousel .impress-price{font-size:12px;padding:5px 14px;}

/* 09c · spec lines: beds|baths / sqft, no acres */
.impress-carousel .impress-acres{display:none!important;}
.impress-carousel .impress-sqft{display:block;margin-top:4px;}
.impress-carousel .impress-beds-baths-sqft span::after{content:none!important;}
.impress-carousel .impress-beds::after{content:'  |  '!important;font-weight:400;opacity:.4;}

/* 09c · spec lines: beds|baths / sqft, no acres */
.impress-carousel .impress-acres{display:none!important;}
.impress-carousel .impress-sqft{display:block;margin-top:4px;}
.impress-carousel .impress-beds-baths-sqft span::after{content:none!important;}
.impress-carousel .impress-beds-baths-sqft span.impress-beds::after{content:'  |  '!important;font-weight:400;opacity:.4;}

/* 10 · CPB neighborhoods carousel */
/* strip card chrome (white box, radius, shadow, lift) */
.cpb-carousel__card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.cpb-carousel__card:hover,.cpb-carousel__card:focus-visible{transform:none!important;box-shadow:none!important;}

/* image: square crop, slow-drift zoom */
.cpb-carousel__image-wrap{aspect-ratio:1/1;}
.cpb-carousel__image{transition:transform .75s ease-out!important;}
@media (hover:hover){.cpb-carousel__card:hover .cpb-carousel__image{transform:scale(1.06);}}

/* hover: white veil + EXPLORE */
.cpb-carousel__image-wrap::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.75);opacity:0;transition:opacity .3s ease;z-index:1;}
.cpb-carousel__image-wrap::after{content:'EXPLORE';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #000;color:#000;font-family:var(--wb-sans);font-size:13px;font-weight:600;letter-spacing:2px;padding:14px 28px;white-space:nowrap;opacity:0;transition:opacity .3s ease;z-index:2;}
@media (hover:hover){
  .cpb-carousel__card:hover .cpb-carousel__image-wrap::before,
  .cpb-carousel__card:hover .cpb-carousel__image-wrap::after{opacity:1;}
}

/* name: small caps, left-aligned, with drop hairline */
.cpb-carousel__name{position:relative;text-align:left!important;font-family:var(--wb-sans)!important;font-size:13px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:1.5px;color:#000!important;padding:30px 0 26px 26px!important;}
.cpb-carousel__name::before{content:'';position:absolute;left:9px;top:-42px;width:1px;height:calc(100% + 42px);background:#000;opacity:.35;z-index:1;}

/* CPB nav — clean rebuild */
.wb-lnav-cpb{display:flex;justify-content:flex-end;align-items:center;}
.wb-lnav-cpb .cpb-carousel__arrow{all:unset;cursor:pointer;}
.wb-lnav-cpb .cpb-carousel__arrow svg{display:none;}
.wb-lnav-cpb .cpb-carousel__arrow::after{font-family:var(--wb-sans);font-size:13px;font-weight:600;letter-spacing:2px;color:#000;}
.wb-lnav-cpb .cpb-carousel__arrow--prev::after{content:'PREV';}
.wb-lnav-cpb .cpb-carousel__arrow--next::after{content:'NEXT';}
.wb-lnav-cpb .cpb-carousel__arrow--prev{padding-right:14px;}
.wb-lnav-cpb .cpb-carousel__arrow--next{border-left:1px solid rgba(0,0,0,.8);padding-left:16px;}
.wb-lnav-cpb .cpb-carousel__arrow:focus-visible{outline:2px solid #000;outline-offset:3px;}
@media (hover:hover){.wb-lnav-cpb .cpb-carousel__arrow:hover::after{text-decoration:underline;text-underline-offset:5px;}}