.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--bg-white);box-shadow:var(--shadow);position:sticky;top:0;z-index:1000}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0}.logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.logo-image{height:80px;width:auto;object-fit:contain;display:block}.logo-fallback{font-size:1.5rem;font-weight:700;color:var(--primary-color);white-space:nowrap}.nav{display:flex;gap:2rem}.nav-link{font-weight:500;color:var(--text-dark);transition:color .2s;position:relative;padding:.5rem 0}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--primary-color)}.main-content{flex:1}.footer{background-color:var(--primary-color);color:var(--bg-white);margin-top:auto;padding:3rem 0 1.5rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{margin-bottom:1rem;font-weight:600}.footer-section p{color:#fffc;margin-bottom:.5rem;font-size:.9rem}.footer-section a{color:#fffc;text-decoration:none;transition:color .2s}.footer-section a:hover{color:#fff;text-decoration:underline}.footer-contact-item{display:flex;flex-direction:row;align-items:center;gap:.75rem;margin-bottom:.5rem}.footer-contact-icon{display:flex;align-items:center;color:#fffc;flex-shrink:0}.footer-contact-icon svg{width:16px;height:16px}.footer-contact-item span:not(.footer-contact-icon){color:#fffc}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;text-align:center}.footer-bottom p{color:#fff9;font-size:.875rem}@media (max-width: 768px){.header-content{flex-wrap:wrap;gap:1rem}.nav{gap:1.5rem;width:100%;justify-content:center}.logo-image{height:60px}}.container{max-width:1200px;margin:0 auto;padding:0 2rem}@media (max-width: 768px){.container{padding:0 1rem}}.listing-card{display:flex;flex-direction:column;background-color:var(--bg-white);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;height:100%}.listing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.listing-card-image{width:100%;height:250px;overflow:hidden;background-color:var(--bg-light);position:relative}.listing-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.listing-card:hover .listing-card-image img{transform:scale(1.05)}.listing-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:var(--text-light);font-size:.9rem}.listing-card-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.listing-card-address{font-size:1.125rem;font-weight:600;color:var(--primary-color);margin-bottom:1rem;line-height:1.4}.listing-card-details{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.listing-card-size{color:var(--text-light);font-size:.9rem}.listing-card-price{font-size:1.25rem;font-weight:700;color:var(--accent-color)}@media (max-width: 768px){.listing-card-image{height:200px}.listing-card-content{padding:1.25rem}}.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin:2rem 0}.listing-grid-loading,.listing-grid-empty{text-align:center;padding:4rem 2rem;color:var(--text-light);font-size:1.125rem}@media (max-width: 768px){.listing-grid{grid-template-columns:1fr;gap:1.5rem}}.hero{position:relative;width:100%;height:600px;overflow:hidden}.hero-image{width:100%;height:100%;position:relative;background:linear-gradient(135deg,#c71013,#a50d10)}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000004d,#0009);display:flex;align-items:center;justify-content:center}.hero-content{text-align:center;color:#fff;max-width:800px;padding:2rem}.hero-content h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-subtitle{font-size:1.5rem;margin-bottom:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.hero-cta{display:inline-block;padding:1rem 2.5rem;background-color:var(--accent-color);color:#fff;font-weight:600;border-radius:4px;transition:background-color .2s,transform .2s;box-shadow:0 4px 6px #0000004d}.hero-cta:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.intro-section{padding:4rem 0;background-color:var(--bg-white)}.intro-content{max-width:800px;margin:0 auto;text-align:center}.intro-content h2{font-size:2.5rem;color:var(--primary-color);margin-bottom:1.5rem;font-weight:700}.intro-content p{font-size:1.125rem;color:var(--text-light);line-height:1.8;margin-bottom:1.5rem}.listings-section{padding:4rem 0;background-color:var(--bg-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h2{font-size:2.5rem;color:var(--primary-color);font-weight:700}.view-all-link{color:var(--primary-color);font-weight:600;transition:color .2s}.view-all-link:hover{color:var(--secondary-color)}@media (max-width: 768px){.hero{height:400px}.hero-content h1{font-size:2rem}.hero-subtitle{font-size:1.25rem}.intro-content h2,.section-header h2{font-size:2rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}.listings-page{padding:3rem 0;min-height:60vh}.page-header p{font-size:1.125rem;color:var(--text-light)}@media (max-width: 768px){.listings-page{padding:2rem 0}.page-header h1{font-size:2rem}}.listing-detail{padding:3rem 0;min-height:60vh}.back-button{background:none;border:none;color:var(--primary-color);font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:2rem;padding:.5rem 0;transition:color .2s}.back-button:hover{color:var(--secondary-color)}.listing-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}.listing-detail-gallery{display:flex;flex-direction:column;gap:1rem}.gallery-main{width:100%;height:500px;overflow:hidden;border-radius:8px;background-color:var(--bg-light)}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-thumbnails{display:flex;gap:.75rem;overflow-x:auto;padding:.5rem 0;max-width:calc(4*(120px + .75rem) - .75rem);scrollbar-width:thin;scrollbar-color:var(--primary-color) transparent}.gallery-thumbnails::-webkit-scrollbar{height:6px}.gallery-thumbnails::-webkit-scrollbar-track{background:transparent}.gallery-thumbnails::-webkit-scrollbar-thumb{background-color:var(--primary-color);border-radius:3px}.gallery-thumbnails::-webkit-scrollbar-thumb:hover{background-color:var(--secondary-color)}.thumbnail{flex-shrink:0;width:120px;height:80px;border:2px solid transparent;border-radius:4px;overflow:hidden;cursor:pointer;background:none;padding:0;transition:border-color .2s}.thumbnail:hover{border-color:var(--primary-color)}.thumbnail.active{border-color:var(--accent-color)}.thumbnail img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{width:100%;height:500px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);border-radius:8px;color:var(--text-light);font-size:1.125rem}.listing-detail-info h1{font-size:2.25rem;color:var(--primary-color);margin-bottom:1.5rem;font-weight:700}.listing-detail-meta{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-bottom:2rem}.meta-item{display:flex;gap:1rem}.meta-label{font-weight:600;color:var(--text-dark);min-width:80px}.meta-value{color:var(--text-light)}.meta-value.price{color:var(--accent-color);font-size:1.5rem;font-weight:700}.download-flyer-button{background-color:var(--primary-color);color:#fff;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:4px;cursor:pointer;transition:background-color .2s;margin-bottom:2rem;width:100%}.download-flyer-button:hover{background-color:var(--secondary-color)}.listing-detail-description{color:var(--text-light);line-height:1.8}.listing-detail-description p{font-size:1.125rem}.listing-detail-loading,.listing-detail-error{padding:4rem 0;text-align:center;color:var(--text-light);font-size:1.125rem}@media (max-width: 968px){.listing-detail-content{grid-template-columns:1fr;gap:2rem}.gallery-main{height:400px}}@media (max-width: 768px){.listing-detail-info h1{font-size:1.75rem}.gallery-main{height:300px}.gallery-thumbnails{max-width:calc(3*(100px + .75rem) - .75rem)}.thumbnail{width:100px;height:70px}}.about-page{padding:3rem 0;min-height:60vh}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem;font-weight:700}.about-content{max-width:1200px;margin:0 auto;text-align:left;color:var(--text-light);font-size:1.125rem;line-height:1.7}.about-layout{display:flex;gap:3rem;align-items:flex-start}.about-sidebar{flex:0 0 300px;display:flex;flex-direction:column}.headshot-container{margin-bottom:2rem}.headshot{width:100%;max-width:300px;height:auto;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:block;object-fit:contain}.contact-info h2{font-size:2rem;color:var(--primary-color);margin-bottom:1.5rem;font-weight:700}.contact-details{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;flex-direction:row;align-items:center;gap:.75rem;margin-bottom:0}.contact-icon{display:flex;align-items:center;color:var(--primary-color);flex-shrink:0}.contact-icon svg{width:16px;height:16px}.contact-value{color:var(--text-light);text-decoration:none;font-size:1rem}.contact-value:hover{color:var(--primary-color);text-decoration:underline}.about-bio{flex:1}.about-bio h2{font-size:2rem;color:var(--primary-color);margin-bottom:1.5rem;font-weight:700}.about-bio p{margin-bottom:1.5rem}@media (max-width: 768px){.about-layout{flex-direction:column;gap:2rem}.about-sidebar{flex:1;width:100%}.headshot{max-width:250px;margin:0 auto}.headshot-container{text-align:center}}.admin-login{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:2rem 0;background-color:var(--bg-light)}.login-card{max-width:400px;width:100%;background-color:var(--bg-white);padding:2.5rem;border-radius:8px;box-shadow:var(--shadow-lg)}.login-card h1{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem;text-align:center}.login-subtitle{text-align:center;color:var(--text-light);margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark)}.form-group input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary-color)}.form-group input:disabled{background-color:var(--bg-light);cursor:not-allowed}.error-message{background-color:#fee;color:var(--accent-color);padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.login-button{width:100%;padding:.75rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.login-button:hover:not(:disabled){background-color:var(--secondary-color)}.login-button:disabled{opacity:.6;cursor:not-allowed}.admin-page{padding:3rem 0;min-height:80vh}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header h1{font-size:2.5rem;color:var(--primary-color);font-weight:700}.logout-button{padding:.75rem 1.5rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s}.logout-button:hover{background-color:#9c2525}.error-banner{background-color:#fee;color:var(--accent-color);padding:1rem;border-radius:4px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;border-left:4px solid var(--accent-color)}.error-close{background:none;border:none;color:var(--accent-color);font-size:1.5rem;cursor:pointer;padding:0;margin-left:1rem;line-height:1;opacity:.7;transition:opacity .2s}.error-close:hover{opacity:1}.admin-actions{margin-bottom:2rem}.add-button{padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s}.add-button:hover{background-color:var(--secondary-color)}.admin-form-container{background-color:var(--bg-white);padding:2rem;border-radius:8px;box-shadow:var(--shadow);margin-bottom:2rem}.admin-form-container h2{font-size:1.75rem;color:var(--primary-color);margin-bottom:1.5rem}.admin-form .form-group{margin-bottom:1.5rem}.admin-form .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark)}.admin-form .form-group input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .2s}.admin-form .form-group input:focus{outline:none;border-color:var(--primary-color)}.admin-form .form-group input[type=file]{padding:.5rem;cursor:pointer}.file-info{margin-top:.5rem;font-size:.875rem;color:var(--text-light);font-style:italic}.image-preview-container,.file-preview-container{margin-bottom:1rem}.image-preview{position:relative;display:inline-block;margin-right:1rem;margin-bottom:1rem;border:2px solid var(--border-color);border-radius:4px;overflow:hidden;background-color:var(--bg-light)}.image-preview img{display:block;width:150px;height:150px;object-fit:cover}.file-preview{position:relative;display:inline-flex;align-items:center;padding:.75rem 1rem;margin-right:1rem;margin-bottom:1rem;border:2px solid var(--border-color);border-radius:4px;background-color:var(--bg-light)}.file-preview span{margin-right:.5rem}.remove-image-button{position:absolute;top:4px;right:4px;width:24px;height:24px;background-color:var(--accent-color);color:#fff;border:none;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:1}.remove-image-button:hover{background-color:#9c2525}.image-label{margin-top:.25rem;font-size:.875rem;color:var(--text-light);font-style:italic}.gallery-preview-section{margin-bottom:1rem}.section-label{font-weight:600;color:var(--text-dark);margin-bottom:.5rem;font-size:.9rem}.gallery-preview-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.save-button{padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s}.save-button:hover{background-color:var(--secondary-color)}.cancel-button{padding:.75rem 1.5rem;background-color:var(--text-light);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s}.cancel-button:hover{background-color:#5a6c7d}.listings-table{background-color:var(--bg-white);padding:2rem;border-radius:8px;box-shadow:var(--shadow)}.listings-table h2{font-size:1.75rem;color:var(--primary-color);margin-bottom:1.5rem}.no-listings{text-align:center;color:var(--text-light);padding:2rem}table{width:100%;border-collapse:collapse}thead{background-color:var(--bg-light)}th{padding:1rem;text-align:left;font-weight:600;color:var(--text-dark);border-bottom:2px solid var(--border-color)}td{padding:1rem;border-bottom:1px solid var(--border-color)}tbody tr:hover{background-color:var(--bg-light)}.edit-button,.qr-button,.delete-button{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;margin-right:.5rem;transition:background-color .2s}.edit-button{background-color:var(--secondary-color);color:#fff}.edit-button:hover{background-color:#1a4a7a}.qr-button{background-color:#28a745;color:#fff}.qr-button:hover{background-color:#218838}.delete-button{background-color:var(--accent-color);color:#fff}.delete-button:hover{background-color:#9c2525}@media (max-width: 768px){.admin-header{flex-direction:column;align-items:flex-start;gap:1rem}table{font-size:.9rem}th,td{padding:.75rem .5rem}.edit-button,.qr-button,.delete-button{display:block;width:100%;margin-bottom:.5rem;margin-right:0}.image-preview img{width:100px;height:100px}.gallery-preview-grid{gap:.5rem}}.qr-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.qr-modal-content{background-color:var(--bg-white);border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.qr-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid var(--border-color)}.qr-modal-header h2{font-size:1.5rem;color:var(--primary-color);margin:0}.qr-modal-close{background:none;border:none;font-size:2rem;color:var(--text-light);cursor:pointer;padding:0;line-height:1;transition:color .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.qr-modal-close:hover{color:var(--text-dark)}.qr-modal-body{padding:2rem;text-align:center}.qr-listing-address{font-size:1.125rem;font-weight:600;color:var(--text-dark);margin-bottom:1.5rem}.qr-code-container{display:flex;justify-content:center;align-items:center;padding:1rem;background-color:#fff;border:2px solid var(--border-color);border-radius:8px;margin:1.5rem auto;width:fit-content}.qr-url-text{margin-top:1.5rem;font-size:.9rem;color:var(--text-dark);word-break:break-all}.qr-url-text a{color:var(--primary-color);text-decoration:none}.qr-url-text a:hover{text-decoration:underline}.qr-instructions{margin-top:1rem;font-size:.875rem;color:var(--text-light);font-style:italic}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: hsl(359.02deg 85.12% 42.16%);--secondary-color: hsl(359.02deg 85.12% 35%);--accent-color: hsl(359.02deg 85.12% 42.16%);--text-dark: #000000;--text-light: #4A4A4A;--bg-light: #F5F5F5;--bg-white: #FFFFFF;--border-color: #E0E0E0;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-dark);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}
