/* Property Detail Page CSS */ /* Breadcrumb */ .breadcrumb-section { padding: 20px 0; background: #f8f9fa; } .breadcrumb { margin-bottom: 0; } .breadcrumb-item a { color: var(--primary); } /* Gallery */ .gallery-main { position: relative; border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 20px; } .gallery-main img { width: 100%; height: 500px; object-fit: cover; } .gallery-thumbnails { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; } .gallery-thumb { border-radius: var(--radius-sm); overflow: hidden; cursor: pointer; border: 2px solid transparent; transition: all 0.3s ease; } .gallery-thumb:hover, .gallery-thumb.active { border-color: var(--primary); } .gallery-thumb img { width: 100%; height: 80px; object-fit: cover; } /* Property Header */ .property-header { margin-bottom: 30px; } .property-title-main { font-size: 2rem; font-weight: 700; margin-bottom: 10px; font-family: 'Montserrat', sans-serif; } .property-price-main { font-size: 2.5rem; font-weight: 700; color: var(--primary); margin-bottom: 15px; } .property-location-main { display: flex; align-items: center; gap: 8px; color: var(--gray); font-size: 1.1rem; } /* Property Content */ .property-content-wrapper { display: grid; grid-template-columns: 2fr 1fr; gap: 30px; } .property-content { background: white; border-radius: var(--radius-md); padding: 30px; box-shadow: var(--shadow); } .property-sidebar { position: sticky; top: 100px; } /* Quick Info */ .quick-info { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 30px; } .quick-info-item { text-align: center; padding: 20px; background: #f8f9fa; border-radius: var(--radius-sm); } .quick-info-item i { font-size: 2rem; color: var(--primary); margin-bottom: 10px; display: block; } .quick-info-item span { display: block; font-weight: 600; font-size: 1.2rem; margin-bottom: 5px; } .quick-info-item small { color: var(--gray); } /* Description */ .description-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 20px; font-family: 'Montserrat', sans-serif; } .description-text { line-height: 1.8; color: var(--text-muted); } /* Tabs */ .nav-tabs-custom { border-bottom: 2px solid #e9ecef; margin-bottom: 30px; } .nav-tab-custom { padding: 15px 30px; font-weight: 600; color: var(--gray); border: none; background: transparent; cursor: pointer; position: relative; } .nav-tab-custom.active { color: var(--primary); } .nav-tab-custom.active::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: var(--primary); } .tab-content-custom { padding: 20px 0; } /* Utilities */ .utilities-section { margin-bottom: 30px; } .utilities-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; } .utility-card { display: flex; align-items: center; gap: 15px; padding: 15px; background: #f8f9fa; border-radius: var(--radius-sm); } .utility-icon { width: 40px; height: 40px; border-radius: 50%; background: var(--primary); color: white; display: flex; align-items: center; justify-content: center; } /* Documents */ .documents-section { margin-bottom: 30px; } .document-item { display: flex; align-items: center; gap: 15px; padding: 15px; background: white; border-radius: var(--radius-sm); box-shadow: var(--shadow); margin-bottom: 10px; } .document-icon { font-size: 2rem; color: var(--primary); } /* Map */ .map-section { margin-bottom: 30px; } #propertyMap { width: 100%; height: 400px; border-radius: var(--radius-md); } /* Similar Properties */ .similar-properties { margin-top: 50px; } /* Calculator */ .calculator-section { background: white; border-radius: var(--radius-md); padding: 30px; box-shadow: var(--shadow); margin-bottom: 30px; } .calculator-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 20px; } /* Contact Form */ .contact-form { background: white; border-radius: var(--radius-md); padding: 30px; box-shadow: var(--shadow); } .form-group { margin-bottom: 20px; } .form-group label { display: block; font-weight: 600; margin-bottom: 8px; } .form-control { width: 100%; padding: 12px 15px; border: 1px solid #e9ecef; border-radius: var(--radius-sm); font-size: 1rem; transition: border-color 0.3s ease; } .form-control:focus { outline: none; border-color: var(--primary); } /* Responsive */ @media (max-width: 991px) { .property-content-wrapper { grid-template-columns: 1fr; } .property-sidebar { position: static; } .quick-info { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) { .gallery-main img { height: 300px; } .gallery-thumbnails { grid-template-columns: repeat(4, 1fr); } .property-title-main { font-size: 1.5rem; } .property-price-main { font-size: 2rem; } }