/*
Theme Name: Sorey-Nice Premium Real Estate
Theme URI: https://soreynice.com/
Author: Sorey-Nice
Description: Premium, responsive real estate business theme converted from the supplied Sorey-Nice homepage design.
Version: 1.1.2
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: soreynice
*/

:root{
  --navy:#0A1628;--navy-light:#132038;--gold:#C9A227;--gold-light:#E0BC4A;--gold-glow:rgba(201,162,39,.35);
  --white:#FFFFFF;--off-white:#F8F7F4;--light-gray:#F0EEE9;--soft-gray:#E8E6E1;--charcoal:#2C2C2C;--text-muted:#6B6B6B;
  --shadow-soft:0 4px 24px rgba(10,22,40,.06);--shadow-medium:0 12px 40px rgba(10,22,40,.1);--shadow-lift:0 20px 50px rgba(10,22,40,.14);
  --radius:4px;--transition:.4s cubic-bezier(.25,.46,.45,.94);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--charcoal);background:var(--white);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:.01em}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:var(--transition)}
button{font-family:inherit;cursor:pointer;border:none;outline:none}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 40px}
.section{padding:110px 0}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:all .4s ease}
.nav.scrolled{background:rgba(10,22,40,.96);backdrop-filter:blur(20px);padding:12px 0;box-shadow:0 4px 30px rgba(0,0,0,.15)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:42px;width:auto;border-radius:6px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:36px;list-style:none}
.nav-links a{color:rgba(255,255,255,.9);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s ease}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--gold);color:var(--navy)!important;padding:12px 26px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius)}
.nav-cta:hover{background:var(--gold-light);box-shadow:0 0 24px var(--gold-glow);transform:translateY(-1px)}
.nav-cta::after{display:none!important}
.menu-toggle{display:none;background:none;color:var(--white);padding:8px}

/* HERO */
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=2400&q=85') center/cover no-repeat;transform:scale(1.05);transition:transform 8s ease-out}
.hero:hover .hero-bg{transform:scale(1.08)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,40,.55) 0%,rgba(10,22,40,.4) 40%,rgba(10,22,40,.72) 100%)}
.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:0 24px}
.hero-eyebrow{font-size:12px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.hero h1{font-size:clamp(40px,5.5vw,68px);color:var(--white);line-height:1.15;margin-bottom:18px}
.hero-sub{font-size:18px;font-weight:300;color:rgba(255,255,255,.85);margin-bottom:48px;letter-spacing:.02em}
.search-bar{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-radius:8px;padding:12px;display:flex;align-items:center;gap:8px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-width:860px;margin:0 auto}
.search-field{flex:1;min-width:0;padding:14px 18px;border:none;background:transparent;font-size:14px;color:var(--charcoal);font-family:inherit;border-radius:6px}
.search-field::placeholder{color:var(--text-muted)}
.search-field:hover,.search-field:focus{outline:none;background-color:rgba(10,22,40,.05)}
select.search-field{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;padding-right:32px}
.search-divider{width:1px;height:32px;background:var(--soft-gray);flex-shrink:0}
.search-btn{background:var(--gold);color:var(--navy);padding:14px 32px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:6px;transition:var(--transition)}
.search-btn:hover{background:var(--gold-light);box-shadow:0 0 24px var(--gold-glow)}

/* TRUST BAR */
.trust-bar{background:var(--navy);padding:48px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center}
.trust-icon{width:44px;height:44px;margin:0 auto 14px;color:var(--gold)}
.trust-icon svg{width:100%;height:100%}
.trust-number{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:600;color:var(--white);line-height:1}
.trust-label{margin-top:8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* SECTION HEADERS */
.section-header{text-align:center;max-width:720px;margin:0 auto 64px}
.section-eyebrow{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.section-title{font-size:clamp(36px,4vw,48px);color:var(--navy);margin-bottom:16px}
.section-desc{font-size:16px;color:var(--text-muted);max-width:560px;margin:0 auto;font-weight:300}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.service-card{background:var(--white);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft);transition:all .45s cubic-bezier(.25,.46,.45,.94);text-align:center;cursor:pointer}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.service-card:focus{outline:2px solid var(--gold);outline-offset:2px}
.service-img{height:180px;overflow:hidden}
.service-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.service-card:hover .service-img img{transform:scale(1.08)}
.service-body{padding:28px 24px 32px}
.service-icon{width:40px;height:40px;margin:-48px auto 16px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--navy);box-shadow:0 6px 18px rgba(201,162,39,.35);position:relative}
.service-icon svg{width:20px;height:20px}
.service-body h3{font-size:22px;color:var(--navy);margin-bottom:10px}
.service-body p{font-size:14px;color:var(--text-muted);font-weight:300;line-height:1.7}
.view-all-wrap{text-align:center;margin-top:56px}
.btn-gold{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--navy);padding:16px 40px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius);transition:all .35s ease}
.btn-gold:hover{background:var(--gold-light);box-shadow:0 0 30px var(--gold-glow);transform:translateY(-2px)}
.btn-whatsapp{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:16px 36px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);transition:all .35s ease}
.btn-whatsapp:hover{background:#2EE574;transform:translateY(-2px)}

/* WHY */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.why-card{padding:48px 36px;background:var(--off-white);border-radius:8px;text-align:center;border-bottom:2px solid transparent;transition:var(--transition)}
.why-card:hover{border-bottom-color:var(--gold);box-shadow:var(--shadow-medium);transform:translateY(-4px)}
.why-icon{width:64px;height:64px;margin:0 auto 24px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold)}
.why-icon svg{width:28px;height:28px}
.why-card h3{font-size:24px;color:var(--navy);margin-bottom:12px}
.why-card p{font-size:15px;color:var(--text-muted);font-weight:300}

/* APPROACH */
.direct-service{background:var(--navy);color:var(--white)}
.direct-service .section-title{color:var(--white)}
.direct-service .section-desc{color:rgba(255,255,255,.65)}
.direct-content{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.direct-text h3{font-size:34px;color:var(--gold);margin-bottom:22px}
.direct-text p{color:rgba(255,255,255,.75);font-weight:300;margin-bottom:18px}
.direct-features{list-style:none;margin-top:28px}
.direct-features li{display:flex;gap:14px;align-items:flex-start;color:rgba(255,255,255,.9);margin-bottom:14px;font-size:15px}
.direct-features svg{width:20px;height:20px;flex-shrink:0;color:var(--gold);margin-top:3px}
.direct-image{border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lift)}
.direct-image img{width:100%;height:520px;object-fit:cover}

/* TESTIMONIALS */
.testimonials{background:var(--off-white)}
.testimonial-slider{max-width:820px;margin:0 auto;text-align:center}
.testimonial-slide{display:none;animation:fadeUp .7s ease}
.testimonial-slide.active{display:block}
.testimonial-quote{font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1.5;color:var(--navy);font-style:italic;margin-bottom:32px}
.testimonial-author{display:flex;align-items:center;justify-content:center;gap:16px}
.testimonial-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.testimonial-info{text-align:left}
.testimonial-info h4{font-size:18px;color:var(--navy)}
.testimonial-info span{font-size:13px;color:var(--text-muted)}
.slider-nav{display:flex;justify-content:center;gap:12px;margin-top:40px}
.slider-dot{width:10px;height:10px;border-radius:50%;background:var(--soft-gray);padding:0;transition:var(--transition)}
.slider-dot.active{background:var(--gold);transform:scale(1.2)}

/* CTA */
.cta-banner{position:relative;padding:120px 0;background:url('https://images.unsplash.com/photo-1600585154526-990dced4db0d?auto=format&fit=crop&w=2400&q=85') center/cover;text-align:center;color:var(--white)}
.cta-overlay{position:absolute;inset:0;background:rgba(10,22,40,.82)}
.cta-content{position:relative;z-index:2}
.cta-content h2{font-size:clamp(34px,4vw,50px);margin-bottom:16px}
.cta-content p{font-weight:300;color:rgba(255,255,255,.8);margin-bottom:40px;font-size:17px}
.cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}

/* FOOTER */
.footer{background:var(--navy);color:rgba(255,255,255,.7);padding:90px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:48px;margin-bottom:56px}
.footer-brand p{font-size:14px;font-weight:300;margin:20px 0;max-width:340px}
.footer-brand .logo img{height:48px}
.footer-contact-item{font-size:14px;margin-bottom:10px}
.footer-contact-item a:hover{color:var(--gold)}
.social-links{display:flex;gap:14px;margin-top:20px}
.social-links a{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--white)}
.social-links a:hover{border-color:var(--gold);color:var(--gold)}
.footer-col h4{color:var(--white);font-size:18px;margin-bottom:22px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:12px;font-size:14px}
.footer-col a:hover{color:var(--gold)}
.newsletter-form{display:flex;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);overflow:hidden}
.newsletter-form input{flex:1;min-width:0;background:transparent;border:none;padding:12px 14px;color:var(--white);font-family:inherit;font-size:14px;outline:none}
.newsletter-form input::placeholder{color:rgba(255,255,255,.45)}
.newsletter-form button{background:var(--gold);color:var(--navy);padding:0 20px;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.newsletter-status{font-size:13px;margin-top:10px;min-height:18px;color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:28px;display:flex;justify-content:space-between;font-size:13px;flex-wrap:wrap;gap:12px}
.footer-bottom div{display:flex;gap:24px}
.footer-bottom a:hover{color:var(--gold)}

/* MODAL */
.service-modal-overlay{position:fixed;inset:0;background:rgba(10,22,40,.75);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:var(--transition);padding:24px}
.service-modal-overlay.open{opacity:1;visibility:visible}
.service-modal{background:var(--white);max-width:640px;width:100%;border-radius:8px;overflow:hidden;position:relative;transform:translateY(30px);transition:var(--transition);max-height:90vh;overflow-y:auto}
.service-modal-overlay.open .service-modal{transform:translateY(0)}
.service-modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(10,22,40,.7);color:#fff;font-size:20px;z-index:2}
.service-modal-img{height:240px}
.service-modal-img img{width:100%;height:100%;object-fit:cover}
.service-modal-body{padding:36px 40px 40px}
.service-modal-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.service-modal-body h3{font-size:32px;color:var(--navy);margin-bottom:14px}
.service-modal-body p{color:var(--text-muted);font-weight:300;margin-bottom:12px}
.service-modal-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.service-modal-cta a{padding:12px 24px;font-size:12px}

/* FLOATING WHATSAPP */
.whatsapp-float{position:fixed;bottom:28px;left:28px;width:58px;height:58px;border-radius:50%;background:#FFFFFF;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(10,22,40,.25);z-index:900;color:#000000;transition:transform .3s ease}
.whatsapp-float:hover{transform:scale(1.08)}
.whatsapp-float svg{width:30px;height:30px}

/* REVEAL */
.reveal{opacity:0;transform:translateY(30px);transition:all .9s cubic-bezier(.25,.46,.45,.94)}
.reveal.visible{opacity:1;transform:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* RESPONSIVE */
@media (max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .menu-toggle{display:block}
  .nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--navy);flex-direction:column;justify-content:center;gap:28px;transition:right .4s ease;padding:40px}
  .nav-links.open{right:0}
  .direct-content{grid-template-columns:1fr;gap:40px}
  .why-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .search-bar{flex-wrap:wrap}
  .search-divider{display:none}
  .search-field,.search-btn{width:100%}
}
@media (max-width:600px){
  .container{padding:0 22px}
  .section{padding:80px 0}
  .services-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .direct-image img{height:340px}
  .testimonial-quote{font-size:21px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* WordPress theme integration and accessibility helpers */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}
.search-bar{margin-left:auto;margin-right:auto}
.search-bar .search-field{min-width:0}


/* Property inventory and search templates */
.sn-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.sn-property-card{background:#fff;border:1px solid #eee9df;box-shadow:var(--shadow-soft);overflow:hidden;transition:var(--transition)}.sn-property-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}.sn-property-image{height:245px;display:block;position:relative;background:var(--light-gray);overflow:hidden}.sn-property-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.sn-property-card:hover .sn-property-image img{transform:scale(1.04)}.sn-property-placeholder{height:100%;display:grid;place-items:center;color:var(--gold);background:var(--navy);letter-spacing:.2em}.sn-property-status{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--navy);padding:7px 12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sn-property-info{padding:24px}.sn-property-price{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:26px;font-weight:700;margin-bottom:6px}.sn-property-info h3{font-size:25px;color:var(--navy);line-height:1.2;margin-bottom:8px}.sn-property-location{font-size:13px;color:var(--text-muted);margin-bottom:16px}.sn-property-meta{display:flex;flex-wrap:wrap;gap:15px;padding:13px 0;border-top:1px solid var(--soft-gray);border-bottom:1px solid var(--soft-gray);font-size:12px;color:var(--text-muted)}.sn-property-link{display:flex;justify-content:space-between;margin-top:17px;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sn-archive{padding-top:120px;min-height:65vh}.sn-archive-heading{text-align:center;background:var(--off-white);padding:70px 0 55px}.sn-archive-body{padding-top:42px;padding-bottom:90px}.sn-filter-form{display:grid;grid-template-columns:2fr 1.3fr 1.2fr 1fr auto;gap:10px;padding:16px;background:#fff;box-shadow:var(--shadow-soft);margin-bottom:36px}.sn-filter-form input,.sn-filter-form select{min-width:0;padding:13px 14px;border:1px solid var(--soft-gray);background:#fff;color:var(--charcoal);font:inherit}.sn-filter-form .search-btn{padding:13px 24px}.sn-no-properties{text-align:center;padding:70px 20px;background:var(--off-white)}.sn-no-properties h2{font-size:34px;color:var(--navy);margin-bottom:10px}.sn-no-properties p{color:var(--text-muted);margin-bottom:24px}.sn-pagination{padding-top:35px}.sn-pagination .nav-links{position:static;width:auto;height:auto;background:none;display:flex;justify-content:center;flex-direction:row;padding:0}.sn-pagination a,.sn-pagination span{padding:9px 13px;background:var(--off-white);color:var(--navy)}.sn-single{padding:135px 0 90px}.sn-back-link{display:inline-block;margin-bottom:25px;color:var(--navy);font-size:13px}.sn-single-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:48px;align-items:start}.sn-single-image{margin-bottom:30px}.sn-single-image img{width:100%;max-height:580px;object-fit:cover}.sn-single-main .section-title{margin-bottom:5px}.sn-single-content{padding-top:24px;color:var(--charcoal)}.sn-single-content p{margin-bottom:16px}.sn-single-aside{position:sticky;top:110px;padding:28px;background:var(--off-white);border:1px solid var(--soft-gray)}.sn-single-aside .sn-property-price{font-size:32px}.sn-single-aside .sn-property-meta{flex-direction:column;gap:10px;margin-bottom:20px}.sn-single-aside .btn-gold{width:100%;justify-content:center;margin-top:24px;text-align:center}@media(max-width:900px){.sn-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-single-grid{grid-template-columns:1fr}.sn-single-aside{position:static}}@media(max-width:600px){.sn-property-grid{grid-template-columns:1fr}.sn-filter-form{grid-template-columns:1fr}.sn-property-image{height:230px}.sn-archive{padding-top:95px}.sn-single{padding-top:110px}}

/* Editable-content safety: prevent long user-entered content from breaking cards/layout. */
.service-card, .why-card, .testimonial-slide, .direct-text { min-width: 0; overflow-wrap: anywhere; }
.service-img img, .direct-image img, .testimonial-avatar { object-fit: cover; }
.sn-property-grid { min-width: 0; }
@media (max-width: 767px) { .container { padding-left: 20px; padding-right: 20px; } .hero { min-height: 680px; } }
