diff --git a/db-snapshots/db-snapshot.sql b/db-snapshots/db-snapshot.sql index 096a4fbd..48adc824 100644 --- a/db-snapshots/db-snapshot.sql +++ b/db-snapshots/db-snapshot.sql @@ -407,4 +407,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-11-28 16:37:18 +-- Dump completed on 2025-11-28 16:39:55 diff --git a/wp-content/themes/homeproz/dist/assets/main.css b/wp-content/themes/homeproz/dist/assets/main.css index 3dfaa75d..b4188510 100644 --- a/wp-content/themes/homeproz/dist/assets/main.css +++ b/wp-content/themes/homeproz/dist/assets/main.css @@ -1,2 +1,2 @@ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com - */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.block{display:block}.hidden{display:none}.border{border-width:1px}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg-dark);border-bottom:1px solid var(--color-border)}.header-container{padding-top:1rem;padding-bottom:1rem}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-branding{flex-shrink:0}.site-branding .custom-logo-link{display:block}.site-branding .custom-logo-link img{max-height:60px;width:auto}.site-branding .site-title-link{text-decoration:none}.site-branding .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);letter-spacing:.02em}.main-navigation{display:none;flex-grow:1;justify-content:center}@media (min-width: 1024px){.main-navigation{display:flex}}.main-navigation .nav-menu{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.main-navigation .menu-item a{display:block;padding:.5rem 0;color:var(--color-text-muted);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.main-navigation .menu-item a:hover{color:var(--color-text)}.main-navigation .menu-item.current-menu-item a,.main-navigation .menu-item.current_page_item a{color:var(--color-accent-light)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer}@media (min-width: 1024px){.menu-toggle{display:none}}.menu-toggle .menu-toggle-icon{display:flex;flex-direction:column;gap:5px}.menu-toggle .bar{display:block;width:24px;height:2px;background-color:var(--color-text)}.menu-toggle[aria-expanded=true] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-cta{display:none;flex-shrink:0}@media (min-width: 1024px){.header-cta{display:block}}.header-cta .header-phone{display:inline-flex;align-items:center;padding:.625rem 1.25rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:.25rem}.header-cta .header-phone:hover{background-color:var(--color-accent-hover);color:#fff}.mobile-navigation{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:1rem}.mobile-navigation.is-open{display:block}@media (min-width: 1024px){.mobile-navigation{display:none!important}}.mobile-navigation .mobile-nav-menu{list-style:none;margin:0;padding:0}.mobile-navigation .menu-item{border-bottom:1px solid var(--color-border)}.mobile-navigation .menu-item:last-child{border-bottom:none}.mobile-navigation .menu-item a{display:block;padding:1rem 0;color:var(--color-text);font-size:1rem;text-decoration:none}.mobile-navigation .menu-item a:hover{color:var(--color-accent-light)}.mobile-navigation .mobile-menu-cta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.mobile-navigation .mobile-menu-cta .btn,.mobile-navigation .mobile-menu-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .mobile-navigation .mobile-menu-cta input[type=submit]{display:block;width:100%;text-align:center}.site-footer{background-color:var(--color-bg-card);border-top:1px solid var(--color-border);margin-top:auto}.footer-container{padding-top:3rem;padding-bottom:1.5rem}.footer-inner{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.footer-inner{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.footer-inner{grid-template-columns:2fr 1fr 1.5fr;gap:3rem}}.footer-column{min-width:0}.footer-heading{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:1.25rem}.footer-about .footer-logo{margin-bottom:1rem}.footer-about .footer-logo img{max-height:50px;width:auto}.footer-about .footer-logo .site-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text)}.footer-about .footer-tagline{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.6}.footer-social{display:flex;gap:1rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted)}.footer-social a:hover{background-color:var(--color-accent);color:#fff}.footer-social a svg{width:20px;height:20px}.footer-links .footer-menu{list-style:none;margin:0;padding:0}.footer-links .menu-item{margin-bottom:.75rem}.footer-links .menu-item:last-child{margin-bottom:0}.footer-links .menu-item a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none}.footer-links .menu-item a:hover{color:var(--color-accent-light)}.contact-list{list-style:none;margin:0;padding:0}.contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.9375rem}.contact-item:last-child{margin-bottom:0}.contact-item svg{flex-shrink:0;color:var(--color-accent);margin-top:.125rem}.contact-item a{color:var(--color-text-muted);text-decoration:none}.contact-item a:hover{color:var(--color-accent-light)}.contact-item span{color:var(--color-text-muted)}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid var(--color-border);text-align:center}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-bottom p{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.footer-bottom .copyright{color:var(--color-sold)}.footer-bottom .footer-credits a{color:var(--color-text-muted);text-decoration:none}.footer-bottom .footer-credits a:hover{color:var(--color-accent-light)}.page-content{padding:2rem 0 4rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.page-title{margin-bottom:0}.entry-content{max-width:800px}.entry-content>*:first-child{margin-top:0}.entry-content>*:last-child{margin-bottom:0}.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:2rem}.entry-content ul,.entry-content ol{margin-bottom:1rem;padding-left:1.5rem}.entry-content ul li,.entry-content ol li{margin-bottom:.5rem}.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-accent);background-color:var(--color-bg-card)}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content table{width:100%;margin-bottom:1rem;border-collapse:collapse}.entry-content table th,.entry-content table td{padding:.75rem;border:1px solid var(--color-border);text-align:left}.entry-content table th{background-color:var(--color-bg-card);font-weight:600;color:var(--color-text)}.entry-content img{max-width:100%;height:auto;border-radius:.25rem}.entry-content code{padding:.125rem .375rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.875em}.entry-content pre{margin-bottom:1rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;overflow-x:auto}.entry-content pre code{padding:0;background:none}.page-links{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);font-weight:500}.page-links .page-numbers{display:inline-block;padding:.25rem .5rem;margin:0 .25rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.page-links .page-numbers.current,.page-links .page-numbers:hover{background-color:var(--color-accent);color:#fff}.archive-header{margin-bottom:2rem;padding:2rem 0;border-bottom:1px solid var(--color-border)}.archive-title{margin-bottom:0}.posts-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem 0}@media (min-width: 768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.posts-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:flex;flex-direction:column}.post-card-image{display:block;aspect-ratio:16/10;overflow:hidden}.post-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.post-card-header{margin-bottom:.75rem}.post-card-meta{margin-bottom:.5rem}.post-card-meta time{font-size:.8125rem;color:var(--color-text-muted)}.post-card-title{font-family:var(--font-body);font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:0}.post-card-title a{color:var(--color-text);text-decoration:none}.post-card-title a:hover{color:var(--color-accent-light)}.post-card-excerpt{flex-grow:1;margin-bottom:1rem}.post-card-excerpt p{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.post-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none}.post-card-link:hover{color:var(--color-accent-hover)}.post-card-link svg{width:16px;height:16px}.pagination,.nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;flex-wrap:wrap}.pagination .page-numbers,.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500}.pagination .page-numbers.current,.nav-links .page-numbers.current{background-color:var(--color-accent);color:#fff}.pagination .page-numbers:hover:not(.current):not(.dots),.nav-links .page-numbers:hover:not(.current):not(.dots){background-color:var(--color-border);color:var(--color-text)}.pagination .page-numbers.dots,.nav-links .page-numbers.dots{background:none;cursor:default}.pagination .prev,.pagination .next,.nav-links .prev,.nav-links .next{padding:0 1rem}.no-posts{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.single-post{padding:2rem 0 4rem;max-width:800px}.post-header{margin-bottom:2rem}.post-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--color-text-muted)}.post-meta time{color:var(--color-text-muted)}.post-meta .meta-separator{color:var(--color-border)}.post-meta .post-categories a{color:var(--color-accent-light);text-decoration:none}.post-meta .post-categories a:hover{color:var(--color-accent-hover)}.post-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.post-title{font-size:2rem}}.post-featured-image{margin-bottom:2rem;border-radius:.5rem;overflow:hidden}.post-featured-image img{width:100%;height:auto;display:block}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post-tags .tags-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.post-tags .tag-link{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none}.post-tags .tag-link:hover{background-color:var(--color-accent);color:#fff}.post-navigation{margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-navigation .nav-links{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.post-navigation .nav-links{grid-template-columns:1fr 1fr}}.post-navigation .nav-previous a,.post-navigation .nav-next a{display:block;text-decoration:none}.post-navigation .nav-next{text-align:right}.post-navigation .nav-subtitle{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.post-navigation .nav-title{display:block;font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.4}.post-navigation a:hover .nav-title{color:var(--color-accent-light)}.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.comments-title{margin-bottom:1.5rem}.comment-list{list-style:none;margin:0;padding:0}.comment-list .comment{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.comment-list .comment:last-child{border-bottom:none}.comment-list .comment-body{display:flex;gap:1rem}.comment-list .comment-author{flex-shrink:0}.comment-list .comment-author img{border-radius:50%}.comment-list .comment-content{flex-grow:1}.comment-list .fn{font-weight:600;color:var(--color-text)}.comment-list .comment-metadata{margin-bottom:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.comment-list .comment-metadata a{color:var(--color-text-muted);text-decoration:none}.comment-list .comment-metadata a:hover{color:var(--color-accent-light)}.comment-respond{margin-top:2rem}.comment-reply-title{margin-bottom:1rem}.comment-form label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{margin-bottom:1rem}.comment-form .form-submit{margin-top:1rem}.error-404{text-align:center;padding:4rem 0;max-width:600px;margin:0 auto}.error-header{margin-bottom:2rem}.error-title{font-size:8rem;line-height:1;color:var(--color-accent);margin-bottom:.5rem}@media (max-width: 640px){.error-title{font-size:5rem}}.error-subtitle{font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:0}.error-content{margin-bottom:2rem}.error-content p{font-size:1rem;color:var(--color-text-muted)}.error-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.error-search{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.error-search p{margin-bottom:1rem;color:var(--color-text-muted)}.search-form{display:flex;max-width:400px;margin:0 auto}.search-form .search-field{flex-grow:1;border-radius:.25rem 0 0 .25rem}.search-form .search-submit{flex-shrink:0;padding:.75rem 1.25rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:0 .25rem .25rem 0;font-weight:600;cursor:pointer}.search-form .search-submit:hover{background-color:var(--color-accent-hover)}.property-card{display:flex;flex-direction:column;height:100%}.property-card-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background-color:var(--color-bg-dark)}.property-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);color:var(--color-border)}.property-card-badge{position:absolute;top:.75rem;left:.75rem}.property-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.property-card-price{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.property-card-title{font-family:var(--font-body);font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.75rem}.property-card-title a{color:var(--color-text-muted);text-decoration:none}.property-card-title a:hover{color:var(--color-accent-light)}.property-card-specs{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0 0 .75rem;padding:0}.spec-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.spec-item svg{color:var(--color-accent);flex-shrink:0}.property-card-excerpt{flex-grow:1;font-size:.875rem;color:var(--color-sold);margin-bottom:1rem;line-height:1.5}.property-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none;margin-top:auto}.property-card-link:hover{color:var(--color-accent-hover)}.property-card-link svg{width:16px;height:16px}.properties-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}@media (min-width: 640px){.properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.properties-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.properties-meta{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.properties-count{font-size:.9375rem;color:var(--color-text-muted)}.properties-count strong{color:var(--color-text)}.no-properties{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.no-properties h3{color:var(--color-text);margin-bottom:.5rem}.no-properties p{margin-bottom:1.5rem}.archive-hero{background-color:var(--color-bg-card);padding:3rem 0;border-bottom:1px solid var(--color-border);margin-bottom:2rem}.archive-hero-title{margin-bottom:.5rem}.archive-hero-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:0;max-width:600px}.property-filters{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.filters-form{display:flex;flex-direction:column;gap:1.5rem}.filters-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.filters-row{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.filters-row{grid-template-columns:repeat(3,1fr) 2fr;gap:1.25rem}}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.8125rem;font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.03em}.filter-select{width:100%;padding:.625rem 2rem .625rem .75rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.9375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:focus{outline:none;border-color:var(--color-accent)}@media (min-width: 1024px){.filter-group-price{grid-column:span 1}}.price-inputs{display:flex;align-items:center;gap:.5rem}.price-inputs .filter-select{flex:1;min-width:0}.price-separator{color:var(--color-text-muted);flex-shrink:0}.filters-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding-top:.5rem;border-top:1px solid var(--color-border)}@media (min-width: 768px){.filters-actions{flex-wrap:nowrap}}.filter-group-sort{flex:1;min-width:150px}@media (min-width: 768px){.filter-group-sort{flex:0 0 auto;width:180px}}.filters-submit,.filters-reset{flex-shrink:0}@media (max-width: 639px){.filters-submit,.filters-reset{flex:1}}.property-filters.is-loading{pointer-events:none;opacity:.7}.property-results-loading{display:flex;justify-content:center;align-items:center;padding:4rem 0}.property-results-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-bg-dark: #0A0A0A;--color-bg-card: #161616;--color-accent: #9F3730;--color-accent-hover: #C8473F;--color-accent-light: #BF524B;--color-text: #F5F5F5;--color-text-muted: #B0B0B0;--color-border: #2A2A2A;--color-success: #2E7D32;--color-warning: #F9A825;--color-sold: #757575;--font-display: "Abril Fatface", Georgia, serif;--font-body: "Inter", "Droid Sans", Arial, sans-serif;--container-max: 1200px;--container-padding: 1.5rem;--transition-fast: .15s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text-muted);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-weight:400;line-height:1.2;margin-bottom:1rem}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--color-accent-light);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.site-main{min-height:50vh;padding:2rem 0}.btn,.comment-form .form-submit input[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.btn-primary,.comment-form .form-submit input[type=submit]{background-color:var(--color-accent);color:#fff}.btn-primary:hover,.comment-form .form-submit input[type=submit]:hover{background-color:var(--color-accent-hover);color:#fff}.btn-secondary{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent);color:#fff}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#000}.badge-muted{background-color:var(--color-sold);color:#fff}.card{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{width:100%;padding:.75rem 1rem;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:var(--font-body);font-size:1rem}input[type=text]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=search]::-moz-placeholder,textarea::-moz-placeholder,select::-moz-placeholder{color:var(--color-sold)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-sold)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:calc(var(--container-max) + 200px)}.alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.wp-block-image img{max-width:100%;height:auto}@media (max-width: 768px){:root{--container-padding: 1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}} + */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.block{display:block}.hidden{display:none}.border{border-width:1px}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg-dark);border-bottom:1px solid var(--color-border)}.header-container{padding-top:1rem;padding-bottom:1rem}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-branding{flex-shrink:0}.site-branding .custom-logo-link{display:block}.site-branding .custom-logo-link img{max-height:60px;width:auto}.site-branding .site-title-link{text-decoration:none}.site-branding .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);letter-spacing:.02em}.main-navigation{display:none;flex-grow:1;justify-content:center}@media (min-width: 1024px){.main-navigation{display:flex}}.main-navigation .nav-menu{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.main-navigation .menu-item a{display:block;padding:.5rem 0;color:var(--color-text-muted);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.main-navigation .menu-item a:hover{color:var(--color-text)}.main-navigation .menu-item.current-menu-item a,.main-navigation .menu-item.current_page_item a{color:var(--color-accent-light)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer}@media (min-width: 1024px){.menu-toggle{display:none}}.menu-toggle .menu-toggle-icon{display:flex;flex-direction:column;gap:5px}.menu-toggle .bar{display:block;width:24px;height:2px;background-color:var(--color-text)}.menu-toggle[aria-expanded=true] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-cta{display:none;flex-shrink:0}@media (min-width: 1024px){.header-cta{display:block}}.header-cta .header-phone{display:inline-flex;align-items:center;padding:.625rem 1.25rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:.25rem}.header-cta .header-phone:hover{background-color:var(--color-accent-hover);color:#fff}.mobile-navigation{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:1rem}.mobile-navigation.is-open{display:block}@media (min-width: 1024px){.mobile-navigation{display:none!important}}.mobile-navigation .mobile-nav-menu{list-style:none;margin:0;padding:0}.mobile-navigation .menu-item{border-bottom:1px solid var(--color-border)}.mobile-navigation .menu-item:last-child{border-bottom:none}.mobile-navigation .menu-item a{display:block;padding:1rem 0;color:var(--color-text);font-size:1rem;text-decoration:none}.mobile-navigation .menu-item a:hover{color:var(--color-accent-light)}.mobile-navigation .mobile-menu-cta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.mobile-navigation .mobile-menu-cta .btn,.mobile-navigation .mobile-menu-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .mobile-navigation .mobile-menu-cta input[type=submit]{display:block;width:100%;text-align:center}.site-footer{background-color:var(--color-bg-card);border-top:1px solid var(--color-border);margin-top:auto}.footer-container{padding-top:3rem;padding-bottom:1.5rem}.footer-inner{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.footer-inner{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.footer-inner{grid-template-columns:2fr 1fr 1.5fr;gap:3rem}}.footer-column{min-width:0}.footer-heading{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:1.25rem}.footer-about .footer-logo{margin-bottom:1rem}.footer-about .footer-logo img{max-height:50px;width:auto}.footer-about .footer-logo .site-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text)}.footer-about .footer-tagline{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.6}.footer-social{display:flex;gap:1rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted)}.footer-social a:hover{background-color:var(--color-accent);color:#fff}.footer-social a svg{width:20px;height:20px}.footer-links .footer-menu{list-style:none;margin:0;padding:0}.footer-links .menu-item{margin-bottom:.75rem}.footer-links .menu-item:last-child{margin-bottom:0}.footer-links .menu-item a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none}.footer-links .menu-item a:hover{color:var(--color-accent-light)}.contact-list{list-style:none;margin:0;padding:0}.contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.9375rem}.contact-item:last-child{margin-bottom:0}.contact-item svg{flex-shrink:0;color:var(--color-accent);margin-top:.125rem}.contact-item a{color:var(--color-text-muted);text-decoration:none}.contact-item a:hover{color:var(--color-accent-light)}.contact-item span{color:var(--color-text-muted)}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid var(--color-border);text-align:center}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-bottom p{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.footer-bottom .copyright{color:var(--color-sold)}.footer-bottom .footer-credits a{color:var(--color-text-muted);text-decoration:none}.footer-bottom .footer-credits a:hover{color:var(--color-accent-light)}.page-content{padding:2rem 0 4rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.page-title{margin-bottom:0}.entry-content{max-width:800px}.entry-content>*:first-child{margin-top:0}.entry-content>*:last-child{margin-bottom:0}.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:2rem}.entry-content ul,.entry-content ol{margin-bottom:1rem;padding-left:1.5rem}.entry-content ul li,.entry-content ol li{margin-bottom:.5rem}.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-accent);background-color:var(--color-bg-card)}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content table{width:100%;margin-bottom:1rem;border-collapse:collapse}.entry-content table th,.entry-content table td{padding:.75rem;border:1px solid var(--color-border);text-align:left}.entry-content table th{background-color:var(--color-bg-card);font-weight:600;color:var(--color-text)}.entry-content img{max-width:100%;height:auto;border-radius:.25rem}.entry-content code{padding:.125rem .375rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.875em}.entry-content pre{margin-bottom:1rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;overflow-x:auto}.entry-content pre code{padding:0;background:none}.page-links{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);font-weight:500}.page-links .page-numbers{display:inline-block;padding:.25rem .5rem;margin:0 .25rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.page-links .page-numbers.current,.page-links .page-numbers:hover{background-color:var(--color-accent);color:#fff}.archive-header{margin-bottom:2rem;padding:2rem 0;border-bottom:1px solid var(--color-border)}.archive-title{margin-bottom:0}.posts-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem 0}@media (min-width: 768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.posts-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:flex;flex-direction:column}.post-card-image{display:block;aspect-ratio:16/10;overflow:hidden}.post-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.post-card-header{margin-bottom:.75rem}.post-card-meta{margin-bottom:.5rem}.post-card-meta time{font-size:.8125rem;color:var(--color-text-muted)}.post-card-title{font-family:var(--font-body);font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:0}.post-card-title a{color:var(--color-text);text-decoration:none}.post-card-title a:hover{color:var(--color-accent-light)}.post-card-excerpt{flex-grow:1;margin-bottom:1rem}.post-card-excerpt p{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.post-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none}.post-card-link:hover{color:var(--color-accent-hover)}.post-card-link svg{width:16px;height:16px}.pagination,.nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;flex-wrap:wrap}.pagination .page-numbers,.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500}.pagination .page-numbers.current,.nav-links .page-numbers.current{background-color:var(--color-accent);color:#fff}.pagination .page-numbers:hover:not(.current):not(.dots),.nav-links .page-numbers:hover:not(.current):not(.dots){background-color:var(--color-border);color:var(--color-text)}.pagination .page-numbers.dots,.nav-links .page-numbers.dots{background:none;cursor:default}.pagination .prev,.pagination .next,.nav-links .prev,.nav-links .next{padding:0 1rem}.no-posts{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.single-post{padding:2rem 0 4rem;max-width:800px}.post-header{margin-bottom:2rem}.post-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--color-text-muted)}.post-meta time{color:var(--color-text-muted)}.post-meta .meta-separator{color:var(--color-border)}.post-meta .post-categories a{color:var(--color-accent-light);text-decoration:none}.post-meta .post-categories a:hover{color:var(--color-accent-hover)}.post-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.post-title{font-size:2rem}}.post-featured-image{margin-bottom:2rem;border-radius:.5rem;overflow:hidden}.post-featured-image img{width:100%;height:auto;display:block}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post-tags .tags-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.post-tags .tag-link{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none}.post-tags .tag-link:hover{background-color:var(--color-accent);color:#fff}.post-navigation{margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-navigation .nav-links{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.post-navigation .nav-links{grid-template-columns:1fr 1fr}}.post-navigation .nav-previous a,.post-navigation .nav-next a{display:block;text-decoration:none}.post-navigation .nav-next{text-align:right}.post-navigation .nav-subtitle{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.post-navigation .nav-title{display:block;font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.4}.post-navigation a:hover .nav-title{color:var(--color-accent-light)}.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.comments-title{margin-bottom:1.5rem}.comment-list{list-style:none;margin:0;padding:0}.comment-list .comment{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.comment-list .comment:last-child{border-bottom:none}.comment-list .comment-body{display:flex;gap:1rem}.comment-list .comment-author{flex-shrink:0}.comment-list .comment-author img{border-radius:50%}.comment-list .comment-content{flex-grow:1}.comment-list .fn{font-weight:600;color:var(--color-text)}.comment-list .comment-metadata{margin-bottom:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.comment-list .comment-metadata a{color:var(--color-text-muted);text-decoration:none}.comment-list .comment-metadata a:hover{color:var(--color-accent-light)}.comment-respond{margin-top:2rem}.comment-reply-title{margin-bottom:1rem}.comment-form label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{margin-bottom:1rem}.comment-form .form-submit{margin-top:1rem}.error-404{text-align:center;padding:4rem 0;max-width:600px;margin:0 auto}.error-header{margin-bottom:2rem}.error-title{font-size:8rem;line-height:1;color:var(--color-accent);margin-bottom:.5rem}@media (max-width: 640px){.error-title{font-size:5rem}}.error-subtitle{font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:0}.error-content{margin-bottom:2rem}.error-content p{font-size:1rem;color:var(--color-text-muted)}.error-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.error-search{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.error-search p{margin-bottom:1rem;color:var(--color-text-muted)}.search-form{display:flex;max-width:400px;margin:0 auto}.search-form .search-field{flex-grow:1;border-radius:.25rem 0 0 .25rem}.search-form .search-submit{flex-shrink:0;padding:.75rem 1.25rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:0 .25rem .25rem 0;font-weight:600;cursor:pointer}.search-form .search-submit:hover{background-color:var(--color-accent-hover)}.property-card{display:flex;flex-direction:column;height:100%}.property-card-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background-color:var(--color-bg-dark)}.property-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);color:var(--color-border)}.property-card-badge{position:absolute;top:.75rem;left:.75rem}.property-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.property-card-price{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.property-card-title{font-family:var(--font-body);font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.75rem}.property-card-title a{color:var(--color-text-muted);text-decoration:none}.property-card-title a:hover{color:var(--color-accent-light)}.property-card-specs{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0 0 .75rem;padding:0}.spec-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.spec-item svg{color:var(--color-accent);flex-shrink:0}.property-card-excerpt{flex-grow:1;font-size:.875rem;color:var(--color-sold);margin-bottom:1rem;line-height:1.5}.property-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none;margin-top:auto}.property-card-link:hover{color:var(--color-accent-hover)}.property-card-link svg{width:16px;height:16px}.properties-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}@media (min-width: 640px){.properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.properties-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.properties-meta{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.properties-count{font-size:.9375rem;color:var(--color-text-muted)}.properties-count strong{color:var(--color-text)}.no-properties{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.no-properties h3{color:var(--color-text);margin-bottom:.5rem}.no-properties p{margin-bottom:1.5rem}.archive-hero{background-color:var(--color-bg-card);padding:3rem 0;border-bottom:1px solid var(--color-border);margin-bottom:2rem}.archive-hero-title{margin-bottom:.5rem}.archive-hero-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:0;max-width:600px}.property-filters{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.filters-form{display:flex;flex-direction:column;gap:1.5rem}.filters-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.filters-row{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.filters-row{grid-template-columns:repeat(3,1fr) 2fr;gap:1.25rem}}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.8125rem;font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.03em}.filter-select{width:100%;padding:.625rem 2rem .625rem .75rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.9375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:focus{outline:none;border-color:var(--color-accent)}@media (min-width: 1024px){.filter-group-price{grid-column:span 1}}.price-inputs{display:flex;align-items:center;gap:.5rem}.price-inputs .filter-select{flex:1;min-width:0}.price-separator{color:var(--color-text-muted);flex-shrink:0}.filters-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding-top:.5rem;border-top:1px solid var(--color-border)}@media (min-width: 768px){.filters-actions{flex-wrap:nowrap}}.filter-group-sort{flex:1;min-width:150px}@media (min-width: 768px){.filter-group-sort{flex:0 0 auto;width:180px}}.filters-submit,.filters-reset{flex-shrink:0}@media (max-width: 639px){.filters-submit,.filters-reset{flex:1}}.property-filters.is-loading{pointer-events:none;opacity:.7}.property-results-loading{display:flex;justify-content:center;align-items:center;padding:4rem 0}.property-results-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.property-gallery{margin-bottom:2rem}.gallery-main{position:relative;margin-bottom:.75rem}.gallery-main-image{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;border-radius:.5rem;overflow:hidden}.gallery-main-image img{width:100%;height:auto;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;display:block}.gallery-count{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem;font-weight:500}.gallery-thumbnails{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}@media (max-width: 640px){.gallery-thumbnails{grid-template-columns:repeat(4,1fr)}}.gallery-thumbnail{position:relative;padding:0;border:2px solid transparent;background:none;cursor:pointer;border-radius:.25rem;overflow:hidden}.gallery-thumbnail.is-active{border-color:var(--color-accent)}.gallery-thumbnail img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block}.thumbnail-more{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#000000b3;color:#fff;font-size:1rem;font-weight:600}.gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-text-muted)}.gallery-placeholder svg{margin-bottom:1rem}.gallery-placeholder p{margin:0}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none}.gallery-lightbox[aria-hidden=false]{display:block}.lightbox-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000000f2}.lightbox-container{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:4rem 1rem}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:10;padding:.5rem;background:none;border:none;color:#fff;cursor:pointer;opacity:.8}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;background-color:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.8}.lightbox-nav:hover{opacity:1;background-color:#fff3}.lightbox-nav.lightbox-prev{left:1rem}.lightbox-nav.lightbox-next{right:1rem}.lightbox-image-container{max-width:90vw;max-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:calc(100vh - 8rem);-o-object-fit:contain;object-fit:contain}.lightbox-counter{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem}.breadcrumbs{background-color:var(--color-bg-card);padding:1rem 0;border-bottom:1px solid var(--color-border)}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem}.breadcrumb-list li{display:flex;align-items:center}.breadcrumb-list li:not(:last-child):after{content:"/";margin-left:.5rem;color:var(--color-text-muted)}.breadcrumb-list li a{color:var(--color-text-muted);text-decoration:none}.breadcrumb-list li a:hover{color:var(--color-accent-light)}.breadcrumb-list li:last-child{color:var(--color-text)}.single-property-main{padding-bottom:4rem}.single-property-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.single-property-layout{grid-template-columns:1fr 350px;gap:3rem}}.property-header{margin-bottom:2rem}.property-header-top{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem}.property-type{font-size:.8125rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.property-title{font-size:2.5rem;margin-bottom:.75rem}@media (max-width: 768px){.property-title{font-size:2rem}}.property-address{display:flex;align-items:flex-start;gap:.5rem;font-size:1.125rem;color:var(--color-text-muted);margin-bottom:.5rem}.property-address svg{flex-shrink:0;margin-top:.125rem;color:var(--color-accent)}.property-mls{font-size:.875rem;color:var(--color-sold);margin-bottom:0}.section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-specs-section{margin-bottom:2rem}.property-specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.property-specs-grid{grid-template-columns:repeat(3,1fr)}}.property-specs-grid .spec-item{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem}.spec-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.spec-value{font-size:1.25rem;font-weight:600;color:var(--color-text)}.property-description{margin-bottom:2rem}.property-short-desc{font-size:1.125rem;color:var(--color-text);margin-bottom:1rem}.property-full-desc{color:var(--color-text-muted);line-height:1.7}.property-features{margin-bottom:2rem}.features-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.features-list{grid-template-columns:repeat(3,1fr)}}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--color-text-muted)}.feature-item svg{flex-shrink:0;color:var(--color-success)}@media (min-width: 1024px){.single-property-sidebar{position:sticky;top:100px;align-self:start}}.agent-card{padding:1.5rem}.agent-card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.agent-card-title{font-size:1.125rem;margin-bottom:0}.agent-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.agent-avatar{flex-shrink:0}.agent-avatar img{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.agent-avatar-placeholder{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);border-radius:50%;color:var(--color-text-muted)}.agent-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.agent-role{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:0}.agent-contact{display:flex;flex-direction:column;gap:.75rem}.agent-contact .btn,.agent-contact .comment-form .form-submit input[type=submit],.comment-form .form-submit .agent-contact input[type=submit]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.agent-card-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.agent-card-note{font-size:.8125rem;color:var(--color-text-muted);text-align:center;margin-bottom:0}body.lightbox-open{overflow:hidden}:root{--color-bg-dark: #0A0A0A;--color-bg-card: #161616;--color-accent: #9F3730;--color-accent-hover: #C8473F;--color-accent-light: #BF524B;--color-text: #F5F5F5;--color-text-muted: #B0B0B0;--color-border: #2A2A2A;--color-success: #2E7D32;--color-warning: #F9A825;--color-sold: #757575;--font-display: "Abril Fatface", Georgia, serif;--font-body: "Inter", "Droid Sans", Arial, sans-serif;--container-max: 1200px;--container-padding: 1.5rem;--transition-fast: .15s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text-muted);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-weight:400;line-height:1.2;margin-bottom:1rem}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--color-accent-light);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.site-main{min-height:50vh;padding:2rem 0}.btn,.comment-form .form-submit input[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.btn-primary,.comment-form .form-submit input[type=submit]{background-color:var(--color-accent);color:#fff}.btn-primary:hover,.comment-form .form-submit input[type=submit]:hover{background-color:var(--color-accent-hover);color:#fff}.btn-secondary{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent);color:#fff}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#000}.badge-muted{background-color:var(--color-sold);color:#fff}.card{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{width:100%;padding:.75rem 1rem;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:var(--font-body);font-size:1rem}input[type=text]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=search]::-moz-placeholder,textarea::-moz-placeholder,select::-moz-placeholder{color:var(--color-sold)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-sold)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:calc(var(--container-max) + 200px)}.alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.wp-block-image img{max-width:100%;height:auto}@media (max-width: 768px){:root{--container-padding: 1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}} diff --git a/wp-content/themes/homeproz/dist/assets/main.js b/wp-content/themes/homeproz/dist/assets/main.js index 1a292102..2acf5716 100644 --- a/wp-content/themes/homeproz/dist/assets/main.js +++ b/wp-content/themes/homeproz/dist/assets/main.js @@ -1 +1 @@ -(function(r){var n=r(".menu-toggle"),t=r(".mobile-navigation");n.length&&(n.on("click",function(){var e=r(this).attr("aria-expanded")==="true";r(this).attr("aria-expanded",!e),t.toggleClass("is-open"),e?r("body").removeClass("mobile-menu-open"):r("body").addClass("mobile-menu-open")}),r(document).on("keydown",function(e){e.key==="Escape"&&t.hasClass("is-open")&&(n.attr("aria-expanded","false"),t.removeClass("is-open"),r("body").removeClass("mobile-menu-open"))}),r(document).on("click",function(e){t.hasClass("is-open")&&!r(e.target).closest(".mobile-navigation").length&&!r(e.target).closest(".menu-toggle").length&&(n.attr("aria-expanded","false"),t.removeClass("is-open"),r("body").removeClass("mobile-menu-open"))}))})(jQuery);(function(r){var n={$form:null,$results:null,$filters:null,isFirstLoad:!0,isLoading:!1,init:function(){this.$form=r(".filters-form"),this.$results=r("#property-results"),this.$filters=r("#property-filters"),!(!this.$form.length||!this.$results.length)&&(this.bindEvents(),this.initFromUrl())},bindEvents:function(){var t=this;this.$form.on("submit",function(e){e.preventDefault(),t.filterProperties(1)}),this.$form.find("select").on("change",function(){t.filterProperties(1)}),r(".filters-reset").on("click",function(e){e.preventDefault(),t.resetFilters()}),this.$results.on("click",".pagination a",function(e){e.preventDefault();var i=t.getPageFromUrl(r(this).attr("href"));t.filterProperties(i)}),r(window).on("popstate",function(e){e.originalEvent.state&&e.originalEvent.state.propertyFilters&&(t.setFormFromState(e.originalEvent.state.propertyFilters),t.filterProperties(e.originalEvent.state.page||1,!1))})},initFromUrl:function(){var t=new URLSearchParams(window.location.search),e=!1;if(this.$form.find("select").each(function(){var s=r(this).attr("name");t.has(s)&&(r(this).val(t.get(s)),e=!0)}),e){var i=this.getFormState();i.page=parseInt(t.get("paged"))||1,history.replaceState({propertyFilters:i,page:i.page},"",window.location.href)}},filterProperties:function(t,e){if(!this.isLoading){e=e!==!1,t=t||1;var i=this,s=this.getFormData();s.paged=t,this.isLoading=!0,this.$filters.addClass("is-loading"),this.isFirstLoad&&this.$results.html('
'),r.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:{action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:s.property_type,property_status:s.property_status,property_location:s.property_location,min_price:s.min_price,max_price:s.max_price,beds:s.beds,sort:s.sort,paged:t},success:function(o){o.success&&(i.$results.html(o.data.html),i.isFirstLoad=!1,e&&i.updateUrl(s,t),t>1&&r("html, body").animate({scrollTop:i.$filters.offset().top-100},300))},error:function(){i.$results.html('

Error

Something went wrong. Please try again.

')},complete:function(){i.isLoading=!1,i.$filters.removeClass("is-loading")}})}},getFormData:function(){return{property_type:this.$form.find('[name="property_type"]').val()||"",property_status:this.$form.find('[name="property_status"]').val()||"",property_location:this.$form.find('[name="property_location"]').val()||"",min_price:this.$form.find('[name="min_price"]').val()||"",max_price:this.$form.find('[name="max_price"]').val()||"",beds:this.$form.find('[name="beds"]').val()||"",sort:this.$form.find('[name="sort"]').val()||"newest"}},getFormState:function(){return this.getFormData()},setFormFromState:function(t){for(var e in t)this.$form.find('[name="'+e+'"]').val(t[e])},updateUrl:function(t,e){var i=new URL(homeprozAjax.archiveUrl);for(var s in t)t[s]&&t[s]!=="newest"&&i.searchParams.set(s,t[s]);e>1&&i.searchParams.set("paged",e);var o={propertyFilters:t,page:e};history.pushState(o,"",i.toString())},getPageFromUrl:function(t){var e=t.match(/[?&]paged=(\d+)/);return e?parseInt(e[1]):1},resetFilters:function(){this.$form.find("select").val(""),this.$form.find('[name="sort"]').val("newest"),this.filterProperties(1)}};r(function(){n.init()})})(jQuery);(function(r){r(function(){})})(jQuery); +(function(i){var a=i(".menu-toggle"),t=i(".mobile-navigation");a.length&&(a.on("click",function(){var e=i(this).attr("aria-expanded")==="true";i(this).attr("aria-expanded",!e),t.toggleClass("is-open"),e?i("body").removeClass("mobile-menu-open"):i("body").addClass("mobile-menu-open")}),i(document).on("keydown",function(e){e.key==="Escape"&&t.hasClass("is-open")&&(a.attr("aria-expanded","false"),t.removeClass("is-open"),i("body").removeClass("mobile-menu-open"))}),i(document).on("click",function(e){t.hasClass("is-open")&&!i(e.target).closest(".mobile-navigation").length&&!i(e.target).closest(".menu-toggle").length&&(a.attr("aria-expanded","false"),t.removeClass("is-open"),i("body").removeClass("mobile-menu-open"))}))})(jQuery);(function(i){var a={$form:null,$results:null,$filters:null,isFirstLoad:!0,isLoading:!1,init:function(){this.$form=i(".filters-form"),this.$results=i("#property-results"),this.$filters=i("#property-filters"),!(!this.$form.length||!this.$results.length)&&(this.bindEvents(),this.initFromUrl())},bindEvents:function(){var t=this;this.$form.on("submit",function(e){e.preventDefault(),t.filterProperties(1)}),this.$form.find("select").on("change",function(){t.filterProperties(1)}),i(".filters-reset").on("click",function(e){e.preventDefault(),t.resetFilters()}),this.$results.on("click",".pagination a",function(e){e.preventDefault();var r=t.getPageFromUrl(i(this).attr("href"));t.filterProperties(r)}),i(window).on("popstate",function(e){e.originalEvent.state&&e.originalEvent.state.propertyFilters&&(t.setFormFromState(e.originalEvent.state.propertyFilters),t.filterProperties(e.originalEvent.state.page||1,!1))})},initFromUrl:function(){var t=new URLSearchParams(window.location.search),e=!1;if(this.$form.find("select").each(function(){var n=i(this).attr("name");t.has(n)&&(i(this).val(t.get(n)),e=!0)}),e){var r=this.getFormState();r.page=parseInt(t.get("paged"))||1,history.replaceState({propertyFilters:r,page:r.page},"",window.location.href)}},filterProperties:function(t,e){if(!this.isLoading){e=e!==!1,t=t||1;var r=this,n=this.getFormData();n.paged=t,this.isLoading=!0,this.$filters.addClass("is-loading"),this.isFirstLoad&&this.$results.html('
'),i.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:{action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:n.property_type,property_status:n.property_status,property_location:n.property_location,min_price:n.min_price,max_price:n.max_price,beds:n.beds,sort:n.sort,paged:t},success:function(s){s.success&&(r.$results.html(s.data.html),r.isFirstLoad=!1,e&&r.updateUrl(n,t),t>1&&i("html, body").animate({scrollTop:r.$filters.offset().top-100},300))},error:function(){r.$results.html('

Error

Something went wrong. Please try again.

')},complete:function(){r.isLoading=!1,r.$filters.removeClass("is-loading")}})}},getFormData:function(){return{property_type:this.$form.find('[name="property_type"]').val()||"",property_status:this.$form.find('[name="property_status"]').val()||"",property_location:this.$form.find('[name="property_location"]').val()||"",min_price:this.$form.find('[name="min_price"]').val()||"",max_price:this.$form.find('[name="max_price"]').val()||"",beds:this.$form.find('[name="beds"]').val()||"",sort:this.$form.find('[name="sort"]').val()||"newest"}},getFormState:function(){return this.getFormData()},setFormFromState:function(t){for(var e in t)this.$form.find('[name="'+e+'"]').val(t[e])},updateUrl:function(t,e){var r=new URL(homeprozAjax.archiveUrl);for(var n in t)t[n]&&t[n]!=="newest"&&r.searchParams.set(n,t[n]);e>1&&r.searchParams.set("paged",e);var s={propertyFilters:t,page:e};history.pushState(s,"",r.toString())},getPageFromUrl:function(t){var e=t.match(/[?&]paged=(\d+)/);return e?parseInt(e[1]):1},resetFilters:function(){this.$form.find("select").val(""),this.$form.find('[name="sort"]').val("newest"),this.filterProperties(1)}};i(function(){a.init()})})(jQuery);(function(i){var a={$gallery:null,$lightbox:null,$mainImage:null,$thumbnails:null,$lightboxImage:null,$lightboxCounter:null,images:[],currentIndex:0,init:function(){if(this.$gallery=i(".property-gallery"),this.$lightbox=i("#property-lightbox"),!!this.$gallery.length){this.$mainImage=this.$gallery.find(".gallery-main-image img"),this.$thumbnails=this.$gallery.find(".gallery-thumbnail"),this.$lightboxImage=this.$lightbox.find(".lightbox-image"),this.$lightboxCounter=this.$lightbox.find(".lightbox-current");var t=i("#gallery-images-data");t.length&&(this.images=JSON.parse(t.text())),this.images.length!==0&&this.bindEvents()}},bindEvents:function(){var t=this;this.$thumbnails.on("click",function(){var e=parseInt(i(this).data("index"));t.setMainImage(e)}),this.$gallery.find("[data-lightbox-trigger]").on("click",function(){t.openLightbox(t.currentIndex)}),this.$lightbox.find(".lightbox-close, .lightbox-overlay").on("click",function(){t.closeLightbox()}),this.$lightbox.find(".lightbox-prev").on("click",function(){t.prevImage()}),this.$lightbox.find(".lightbox-next").on("click",function(){t.nextImage()}),i(document).on("keydown",function(e){if(t.$lightbox.is('[aria-hidden="false"]'))switch(e.key){case"Escape":t.closeLightbox();break;case"ArrowLeft":t.prevImage();break;case"ArrowRight":t.nextImage();break}})},setMainImage:function(t){if(!(t<0||t>=this.images.length)){this.currentIndex=t;var e=this.images[t];this.$mainImage.attr("src",e.url),this.$mainImage.attr("alt",e.alt||"Property photo"),this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+t+'"]').addClass("is-active")}},openLightbox:function(t){this.currentIndex=t,this.updateLightboxImage(),this.$lightbox.attr("aria-hidden","false"),i("body").addClass("lightbox-open")},closeLightbox:function(){this.$lightbox.attr("aria-hidden","true"),i("body").removeClass("lightbox-open")},prevImage:function(){var t=this.currentIndex-1;t<0&&(t=this.images.length-1),this.currentIndex=t,this.updateLightboxImage()},nextImage:function(){var t=this.currentIndex+1;t>=this.images.length&&(t=0),this.currentIndex=t,this.updateLightboxImage()},updateLightboxImage:function(){var t=this.images[this.currentIndex];this.$lightboxImage.attr("src",t.url),this.$lightboxImage.attr("alt",t.alt||"Property photo"),this.$lightboxCounter.text(this.currentIndex+1)}};i(function(){a.init()})})(jQuery);(function(i){i(function(){})})(jQuery); diff --git a/wp-content/themes/homeproz/single-property.php b/wp-content/themes/homeproz/single-property.php new file mode 100644 index 00000000..59c26aea --- /dev/null +++ b/wp-content/themes/homeproz/single-property.php @@ -0,0 +1,205 @@ +name : ''; + $status_class = homeproz_get_status_class($status); + + // Get type from taxonomy + $type_terms = get_the_terms($property_id, 'property_type'); + $type = $type_terms && !is_wp_error($type_terms) ? $type_terms[0]->name : ''; + + // Format full address + $full_address = $street_address; + if ($city) $full_address .= ', ' . $city; + if ($state) $full_address .= ', ' . $state; + if ($zip_code) $full_address .= ' ' . $zip_code; +?> + +
+ + + +
+
+ +
+ + $gallery, 'property_id' => $property_id)); ?> + + +
+
+ + + + + + +
+ +

+ +

+ + +

+ + +

MLS#

+ +
+ + + +
+

Property Details

+
    + +
  • + Bedrooms + +
  • + + +
  • + Bathrooms + +
  • + + +
  • + Square Feet + +
  • + + +
  • + Lot Size + +
  • + + +
  • + Year Built + +
  • + + +
  • + Garage + Car +
  • + +
+
+ + + +
+

Description

+ +

+ +
+ +
+
+ + + +
+

Features & Amenities

+
    + 'Central Air', + 'central_heat' => 'Central Heat', + 'fireplace' => 'Fireplace', + 'hardwood_floors' => 'Hardwood Floors', + 'updated_kitchen' => 'Updated Kitchen', + 'updated_bathrooms' => 'Updated Bathrooms', + 'basement' => 'Basement', + 'finished_basement' => 'Finished Basement', + 'deck_patio' => 'Deck/Patio', + 'pool' => 'Pool', + 'fenced_yard' => 'Fenced Yard', + 'sprinkler_system' => 'Sprinkler System', + 'smart_home' => 'Smart Home Features', + 'solar_panels' => 'Solar Panels', + 'new_roof' => 'New Roof', + 'new_windows' => 'New Windows', + 'waterfront' => 'Waterfront', + 'lake_access' => 'Lake Access', + ); + foreach ($property_features as $feature) : + $label = isset($feature_labels[$feature]) ? $feature_labels[$feature] : ucwords(str_replace('_', ' ', $feature)); + ?> +
  • + + +
  • + +
+
+ +
+ + + +
+
+
+ + + +
+
+

Contact Agent

+
+ +
+
+
+ + + +
+ +
+ +
+
+

+

Listing Agent

+
+
+ + +
+ + + +
diff --git a/wp-content/themes/homeproz/template-parts/property/property-gallery.js b/wp-content/themes/homeproz/template-parts/property/property-gallery.js new file mode 100644 index 00000000..607e83b5 --- /dev/null +++ b/wp-content/themes/homeproz/template-parts/property/property-gallery.js @@ -0,0 +1,184 @@ +/** + * Property Gallery JavaScript + * + * Lightbox and thumbnail navigation + * + * @package HomeProz + */ + +(function($) { + 'use strict'; + + var PropertyGallery = { + // Elements + $gallery: null, + $lightbox: null, + $mainImage: null, + $thumbnails: null, + $lightboxImage: null, + $lightboxCounter: null, + + // State + images: [], + currentIndex: 0, + + /** + * Initialize + */ + init: function() { + this.$gallery = $('.property-gallery'); + this.$lightbox = $('#property-lightbox'); + + if (!this.$gallery.length) { + return; + } + + this.$mainImage = this.$gallery.find('.gallery-main-image img'); + this.$thumbnails = this.$gallery.find('.gallery-thumbnail'); + this.$lightboxImage = this.$lightbox.find('.lightbox-image'); + this.$lightboxCounter = this.$lightbox.find('.lightbox-current'); + + // Load images data + var $dataScript = $('#gallery-images-data'); + if ($dataScript.length) { + this.images = JSON.parse($dataScript.text()); + } + + if (this.images.length === 0) { + return; + } + + this.bindEvents(); + }, + + /** + * Bind events + */ + bindEvents: function() { + var self = this; + + // Thumbnail clicks + this.$thumbnails.on('click', function() { + var index = parseInt($(this).data('index')); + self.setMainImage(index); + }); + + // Open lightbox + this.$gallery.find('[data-lightbox-trigger]').on('click', function() { + self.openLightbox(self.currentIndex); + }); + + // Close lightbox + this.$lightbox.find('.lightbox-close, .lightbox-overlay').on('click', function() { + self.closeLightbox(); + }); + + // Navigation + this.$lightbox.find('.lightbox-prev').on('click', function() { + self.prevImage(); + }); + + this.$lightbox.find('.lightbox-next').on('click', function() { + self.nextImage(); + }); + + // Keyboard navigation + $(document).on('keydown', function(e) { + if (!self.$lightbox.is('[aria-hidden="false"]')) { + return; + } + + switch (e.key) { + case 'Escape': + self.closeLightbox(); + break; + case 'ArrowLeft': + self.prevImage(); + break; + case 'ArrowRight': + self.nextImage(); + break; + } + }); + }, + + /** + * Set main gallery image + */ + setMainImage: function(index) { + if (index < 0 || index >= this.images.length) { + return; + } + + this.currentIndex = index; + + // Update main image + var image = this.images[index]; + this.$mainImage.attr('src', image.url); + this.$mainImage.attr('alt', image.alt || 'Property photo'); + + // Update active thumbnail + this.$thumbnails.removeClass('is-active'); + this.$thumbnails.filter('[data-index="' + index + '"]').addClass('is-active'); + }, + + /** + * Open lightbox + */ + openLightbox: function(index) { + this.currentIndex = index; + this.updateLightboxImage(); + + this.$lightbox.attr('aria-hidden', 'false'); + $('body').addClass('lightbox-open'); + }, + + /** + * Close lightbox + */ + closeLightbox: function() { + this.$lightbox.attr('aria-hidden', 'true'); + $('body').removeClass('lightbox-open'); + }, + + /** + * Previous image + */ + prevImage: function() { + var newIndex = this.currentIndex - 1; + if (newIndex < 0) { + newIndex = this.images.length - 1; + } + this.currentIndex = newIndex; + this.updateLightboxImage(); + }, + + /** + * Next image + */ + nextImage: function() { + var newIndex = this.currentIndex + 1; + if (newIndex >= this.images.length) { + newIndex = 0; + } + this.currentIndex = newIndex; + this.updateLightboxImage(); + }, + + /** + * Update lightbox image + */ + updateLightboxImage: function() { + var image = this.images[this.currentIndex]; + this.$lightboxImage.attr('src', image.url); + this.$lightboxImage.attr('alt', image.alt || 'Property photo'); + this.$lightboxCounter.text(this.currentIndex + 1); + } + }; + + // Initialize on document ready + $(function() { + PropertyGallery.init(); + }); + +})(jQuery); diff --git a/wp-content/themes/homeproz/template-parts/property/property-gallery.php b/wp-content/themes/homeproz/template-parts/property/property-gallery.php new file mode 100644 index 00000000..f84106d8 --- /dev/null +++ b/wp-content/themes/homeproz/template-parts/property/property-gallery.php @@ -0,0 +1,140 @@ + $featured_id, + 'url' => wp_get_attachment_image_url($featured_id, 'large'), + 'full' => wp_get_attachment_image_url($featured_id, 'full'), + 'alt' => get_post_meta($featured_id, '_wp_attachment_image_alt', true), + ); +} + +// Add gallery images +if ($gallery && is_array($gallery)) { + foreach ($gallery as $attachment_id) { + // Skip if same as featured image + if (isset($featured_id) && $attachment_id == $featured_id) { + continue; + } + $images[] = array( + 'id' => $attachment_id, + 'url' => wp_get_attachment_image_url($attachment_id, 'large'), + 'full' => wp_get_attachment_image_url($attachment_id, 'full'), + 'alt' => get_post_meta($attachment_id, '_wp_attachment_image_alt', true), + ); + } +} + +$image_count = count($images); +?> + + diff --git a/wp-content/themes/homeproz/template-parts/property/property-gallery.scss b/wp-content/themes/homeproz/template-parts/property/property-gallery.scss new file mode 100644 index 00000000..2d22efbb --- /dev/null +++ b/wp-content/themes/homeproz/template-parts/property/property-gallery.scss @@ -0,0 +1,210 @@ +/** + * Property Gallery Styles + * + * @package HomeProz + */ + +.property-gallery { + margin-bottom: 2rem; +} + +// Main Image +.gallery-main { + position: relative; + margin-bottom: 0.75rem; +} + +.gallery-main-image { + display: block; + width: 100%; + padding: 0; + border: none; + background: none; + cursor: pointer; + border-radius: 0.5rem; + overflow: hidden; + + img { + width: 100%; + height: auto; + aspect-ratio: 16 / 10; + object-fit: cover; + display: block; + } +} + +.gallery-count { + position: absolute; + bottom: 1rem; + right: 1rem; + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.75); + border-radius: 0.25rem; + color: white; + font-size: 0.875rem; + font-weight: 500; +} + +// Thumbnails +.gallery-thumbnails { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 0.5rem; + + @media (max-width: 640px) { + grid-template-columns: repeat(4, 1fr); + } +} + +.gallery-thumbnail { + position: relative; + padding: 0; + border: 2px solid transparent; + background: none; + cursor: pointer; + border-radius: 0.25rem; + overflow: hidden; + + &.is-active { + border-color: var(--color-accent); + } + + img { + width: 100%; + aspect-ratio: 1; + object-fit: cover; + display: block; + } +} + +.thumbnail-more { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + background-color: rgba(0, 0, 0, 0.7); + color: white; + font-size: 1rem; + font-weight: 600; +} + +// Gallery Placeholder +.gallery-placeholder { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 400px; + background-color: var(--color-bg-card); + border-radius: 0.5rem; + color: var(--color-text-muted); + + svg { + margin-bottom: 1rem; + } + + p { + margin: 0; + } +} + +// Lightbox +.gallery-lightbox { + position: fixed; + inset: 0; + z-index: 1000; + display: none; + + &[aria-hidden="false"] { + display: block; + } +} + +.lightbox-overlay { + position: absolute; + inset: 0; + background-color: rgba(0, 0, 0, 0.95); +} + +.lightbox-container { + position: relative; + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 4rem 1rem; +} + +.lightbox-close { + position: absolute; + top: 1rem; + right: 1rem; + z-index: 10; + padding: 0.5rem; + background: none; + border: none; + color: white; + cursor: pointer; + opacity: 0.8; + + &:hover { + opacity: 1; + } +} + +.lightbox-nav { + position: absolute; + top: 50%; + transform: translateY(-50%); + z-index: 10; + padding: 1rem; + background-color: rgba(255, 255, 255, 0.1); + border: none; + border-radius: 50%; + color: white; + cursor: pointer; + opacity: 0.8; + + &:hover { + opacity: 1; + background-color: rgba(255, 255, 255, 0.2); + } + + &.lightbox-prev { + left: 1rem; + } + + &.lightbox-next { + right: 1rem; + } +} + +.lightbox-image-container { + max-width: 90vw; + max-height: calc(100vh - 8rem); + display: flex; + align-items: center; + justify-content: center; +} + +.lightbox-image { + max-width: 100%; + max-height: calc(100vh - 8rem); + object-fit: contain; +} + +.lightbox-counter { + position: absolute; + bottom: 1rem; + left: 50%; + transform: translateX(-50%); + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.75); + border-radius: 0.25rem; + color: white; + font-size: 0.875rem; +} diff --git a/wp-content/themes/homeproz/template-parts/property/single-property.scss b/wp-content/themes/homeproz/template-parts/property/single-property.scss new file mode 100644 index 00000000..7dff4e36 --- /dev/null +++ b/wp-content/themes/homeproz/template-parts/property/single-property.scss @@ -0,0 +1,307 @@ +/** + * Single Property Styles + * + * @package HomeProz + */ + +// Breadcrumbs +.breadcrumbs { + background-color: var(--color-bg-card); + padding: 1rem 0; + border-bottom: 1px solid var(--color-border); +} + +.breadcrumb-list { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.5rem; + list-style: none; + margin: 0; + padding: 0; + font-size: 0.875rem; + + li { + display: flex; + align-items: center; + + &:not(:last-child)::after { + content: '/'; + margin-left: 0.5rem; + color: var(--color-text-muted); + } + + a { + color: var(--color-text-muted); + text-decoration: none; + + &:hover { + color: var(--color-accent-light); + } + } + + &:last-child { + color: var(--color-text); + } + } +} + +// Main Layout +.single-property-main { + padding-bottom: 4rem; +} + +.single-property-layout { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; + padding-top: 2rem; + + @media (min-width: 1024px) { + grid-template-columns: 1fr 350px; + gap: 3rem; + } +} + +// Property Header +.property-header { + margin-bottom: 2rem; +} + +.property-header-top { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.75rem; + margin-bottom: 0.75rem; +} + +.property-type { + font-size: 0.8125rem; + color: var(--color-text-muted); + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.property-title { + font-size: 2.5rem; + margin-bottom: 0.75rem; + + @media (max-width: 768px) { + font-size: 2rem; + } +} + +.property-address { + display: flex; + align-items: flex-start; + gap: 0.5rem; + font-size: 1.125rem; + color: var(--color-text-muted); + margin-bottom: 0.5rem; + + svg { + flex-shrink: 0; + margin-top: 0.125rem; + color: var(--color-accent); + } +} + +.property-mls { + font-size: 0.875rem; + color: var(--color-sold); + margin-bottom: 0; +} + +// Section Title +.section-title { + font-size: 1.25rem; + margin-bottom: 1.25rem; + padding-bottom: 0.75rem; + border-bottom: 1px solid var(--color-border); +} + +// Property Specs Grid +.property-specs-section { + margin-bottom: 2rem; +} + +.property-specs-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 1rem; + list-style: none; + margin: 0; + padding: 0; + + @media (min-width: 640px) { + grid-template-columns: repeat(3, 1fr); + } +} + +.property-specs-grid .spec-item { + display: flex; + flex-direction: column; + gap: 0.25rem; + padding: 1rem; + background-color: var(--color-bg-card); + border-radius: 0.25rem; +} + +.spec-label { + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--color-text-muted); +} + +.spec-value { + font-size: 1.25rem; + font-weight: 600; + color: var(--color-text); +} + +// Description +.property-description { + margin-bottom: 2rem; +} + +.property-short-desc { + font-size: 1.125rem; + color: var(--color-text); + margin-bottom: 1rem; +} + +.property-full-desc { + color: var(--color-text-muted); + line-height: 1.7; +} + +// Features List +.property-features { + margin-bottom: 2rem; +} + +.features-list { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 0.75rem; + list-style: none; + margin: 0; + padding: 0; + + @media (min-width: 640px) { + grid-template-columns: repeat(3, 1fr); + } +} + +.feature-item { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 0.9375rem; + color: var(--color-text-muted); + + svg { + flex-shrink: 0; + color: var(--color-success); + } +} + +// Sidebar +.single-property-sidebar { + @media (min-width: 1024px) { + position: sticky; + top: 100px; + align-self: start; + } +} + +// Agent Card +.agent-card { + padding: 1.5rem; +} + +.agent-card-header { + margin-bottom: 1.25rem; + padding-bottom: 1rem; + border-bottom: 1px solid var(--color-border); +} + +.agent-card-title { + font-size: 1.125rem; + margin-bottom: 0; +} + +.agent-info { + display: flex; + align-items: center; + gap: 1rem; + margin-bottom: 1.5rem; +} + +.agent-avatar { + flex-shrink: 0; + + img { + width: 64px; + height: 64px; + border-radius: 50%; + object-fit: cover; + } +} + +.agent-avatar-placeholder { + width: 64px; + height: 64px; + display: flex; + align-items: center; + justify-content: center; + background-color: var(--color-bg-dark); + border-radius: 50%; + color: var(--color-text-muted); +} + +.agent-name { + font-weight: 600; + color: var(--color-text); + margin-bottom: 0.25rem; +} + +.agent-role { + font-size: 0.8125rem; + color: var(--color-text-muted); + margin-bottom: 0; +} + +.agent-contact { + display: flex; + flex-direction: column; + gap: 0.75rem; + + .btn { + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + width: 100%; + } +} + +.agent-card-footer { + margin-top: 1.5rem; + padding-top: 1rem; + border-top: 1px solid var(--color-border); +} + +.agent-card-note { + font-size: 0.8125rem; + color: var(--color-text-muted); + text-align: center; + margin-bottom: 0; +} + +// Body class for lightbox +body.lightbox-open { + overflow: hidden; +}