/* Elmahfouz Platform — matches site design system (Marcellus headings, Raleway UI, Inter body, black/white palette) */

.emp-page-wrap{max-width:1100px;margin:0 auto;padding:60px 24px}

.emp-hero{background:#000;padding:70px 24px 44px;text-align:center;width:100vw;margin-inline-start:calc(50% - 50vw);margin-inline-end:calc(50% - 50vw)}
.emp-hero h1{font-family:'Marcellus',serif;color:#fff;font-weight:500;font-size:44px;margin:0 0 30px;letter-spacing:.5px}
.emp-hero::after{content:'';display:block;max-width:1100px;margin:0 auto;border-bottom:1px solid rgba(255,255,255,.15)}

.emp-tracking-wrap, .emp-jobs-wrap, .emp-units-wrap, .emp-booking-wrap, #emp-chatbot {
	font-family: 'Inter', sans-serif;
	color: #7a7a7a;
}

.emp-tracking-wrap h3, .emp-jobs-wrap h3, .emp-unit-body h4, .emp-booking-wrap h3, .emp-calculator h3 {
	font-family: 'Marcellus', serif;
	color: #000;
	font-weight: 500;
}

.emp-btn, .emp-units-filter button, .emp-apply-form button, .emp-booking-form button, .emp-book-btn, #emp-chatbot-form button {
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .5px;
	background: #000;
	color: #fff;
	border: 1px solid #000;
	padding: 13px 26px;
	cursor: pointer;
	transition: background .2s, color .2s;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	font-size: 13px;
}
.emp-btn:hover, .emp-units-filter button:hover, .emp-apply-form button:hover, .emp-booking-form button:hover, .emp-book-btn:hover {
	background: #fff;
	color: #000;
}

.emp-icon{width:15px;height:15px;display:inline-block;vertical-align:-3px;margin-inline-end:5px;fill:none;stroke:currentColor;stroke-width:1.6}

/* Project tracking */
.emp-tracking-wrap{display:flex;flex-direction:column;gap:32px;max-width:900px;margin:0 auto}
.emp-project-card{border:1px solid #e5e5e5;padding:28px;background:#fff;transition:box-shadow .2s}
.emp-project-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.06)}
.emp-project-head{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.emp-project-thumb{width:96px;height:96px;object-fit:cover}
.emp-project-info h3{font-size:20px;margin-bottom:6px}
.emp-location{color:#999;font-size:13px;margin-inline-end:10px;font-family:'Raleway',sans-serif}
.emp-status{display:inline-block;padding:4px 11px;font-size:10px;background:#f2f2f2;color:#333;text-transform:uppercase;letter-spacing:.6px;font-family:'Raleway',sans-serif}
.emp-status-completed{background:#000;color:#fff}
.emp-status-under_construction{background:#f2f2f2;color:#000}
.emp-status-upcoming{background:#fff;color:#999;border:1px solid #ddd}
.emp-progress-bar-wrap{background:#eee;height:6px;overflow:hidden;margin-bottom:6px}
.emp-progress-bar{background:#000;height:100%}
.emp-progress-label{font-size:12px;color:#999;font-family:'Raleway',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.emp-timeline{margin-top:24px;border-inline-start:1px solid #ddd;padding-inline-start:24px;display:flex;flex-direction:column;gap:20px}
.emp-timeline-item{position:relative}
.emp-timeline-dot{position:absolute;inline-size:10px;block-size:10px;border-radius:50%;background:#ddd;inset-inline-start:-29px;top:4px}
.emp-tl-done .emp-timeline-dot{background:#000}
.emp-tl-in_progress .emp-timeline-dot{background:#7a7a7a}
.emp-timeline-content strong{display:block;font-family:'Raleway',sans-serif;color:#000;font-size:14px}
.emp-tl-date{font-size:12px;color:#999}
.emp-timeline-content p{margin:4px 0 0;font-size:14px}

/* Jobs */
.emp-jobs-wrap{display:flex;flex-direction:column;gap:14px;max-width:800px;margin:0 auto}
.emp-job-card{border:1px solid #e5e5e5;overflow:hidden;background:#fff}
.emp-job-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer}
.emp-job-head h3{margin:0;font-size:18px}
.emp-job-meta span{font-size:10px;background:#f2f2f2;padding:5px 11px;margin-inline-start:6px;text-transform:uppercase;font-family:'Raleway',sans-serif;letter-spacing:.6px}
.emp-job-body{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 24px}
.emp-job-card.open .emp-job-body{max-height:1200px;padding:0 24px 24px}
.emp-job-card.open .emp-job-head{border-bottom:1px solid #eee}
.emp-apply-form{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.emp-apply-form input{padding:12px 14px;border:1px solid #ddd;font-family:'Inter',sans-serif}
.emp-notice{padding:14px 18px;margin-bottom:18px;font-family:'Raleway',sans-serif;font-size:14px}
.emp-notice-success{background:#f2f2f2;color:#000;border-inline-start:3px solid #000}
.emp-notice-error{background:#fdf0f0;color:#a11;border-inline-start:3px solid #a11}

/* Units — property-portal style listing */
.emp-units-filter{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:0;margin-bottom:36px;border:1px solid #e5e5e5;background:#fff}
.emp-units-filter select,.emp-units-filter input{padding:15px 16px;border:0;border-inline-end:1px solid #e5e5e5;font-family:'Inter',sans-serif;background:#fff;font-size:14px;color:#333}
.emp-units-filter select:focus,.emp-units-filter input:focus{outline:none;background:#fafafa}
.emp-units-filter button{border:0;padding:15px 30px}
.emp-units-count{font-family:'Raleway',sans-serif;font-size:13px;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:18px;display:block}
.emp-units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.emp-unit-card{border:1px solid #e5e5e5;overflow:hidden;text-decoration:none;color:inherit;background:#fff;display:block;transition:box-shadow .2s,transform .2s}
.emp-unit-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.1);transform:translateY(-2px)}
.emp-unit-media{position:relative}
.emp-unit-card img,.emp-unit-noimg{width:100%;height:200px;object-fit:cover;background:linear-gradient(135deg,#efefef,#f7f7f7)}
.emp-unit-noimg{display:flex;align-items:center;justify-content:center}
.emp-unit-noimg svg{width:40px;height:40px;stroke:#ccc;fill:none;stroke-width:1.2}
.emp-unit-badge{position:absolute;top:14px;inset-inline-start:14px;background:#000;color:#fff;font-size:10px;padding:5px 11px;text-transform:uppercase;letter-spacing:.6px;font-family:'Raleway',sans-serif}
.emp-unit-status-badge{position:absolute;top:14px;inset-inline-end:14px;background:#fff;color:#000;font-size:10px;padding:5px 11px;text-transform:uppercase;letter-spacing:.6px;font-family:'Raleway',sans-serif}
.emp-unit-body{padding:18px}
.emp-unit-price{color:#000;font-size:19px;font-family:'Marcellus',serif;display:block;margin-bottom:8px}
.emp-unit-body h4{margin:0 0 6px;font-size:16px;font-weight:600;color:#000}
.emp-unit-project-name{font-size:12px;color:#999;font-family:'Raleway',sans-serif;margin-bottom:14px;display:block}
.emp-unit-specs{display:flex;gap:16px;font-size:13px;color:#666;padding-top:14px;border-top:1px solid #f0f0f0;font-family:'Raleway',sans-serif}
.emp-unit-specs span{display:flex;align-items:center}

/* Unit single */
.emp-unit-project{margin-bottom:16px;font-family:'Raleway',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.emp-unit-project a{color:#000}
.emp-unit-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:24px}
.emp-unit-gallery img{width:100%;height:150px;object-fit:cover}
.emp-unit-specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;background:#f7f7f7;padding:22px;margin-bottom:26px}
.emp-unit-specs-grid span{display:block;font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px;font-family:'Raleway',sans-serif;margin-bottom:6px}
.emp-unit-specs-grid strong{font-size:18px;font-family:'Marcellus',serif;color:#000}
.emp-calculator{border:1px solid #e5e5e5;padding:28px;margin-top:30px;background:#fff}
.emp-calc-row{margin-bottom:20px}
.emp-calc-row label{display:block;margin-bottom:10px;font-size:13px;font-family:'Raleway',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.emp-calc-row input[type=range]{width:100%;accent-color:#000}
.emp-calc-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;text-align:center}
.emp-calc-results div{background:#f7f7f7;padding:16px}
.emp-calc-results span{display:block;font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px;font-family:'Raleway',sans-serif;margin-bottom:6px}
.emp-calc-results strong{font-size:16px;color:#000;font-family:'Marcellus',serif}
.emp-book-btn{display:block;text-align:center;width:100%}

/* Booking */
.emp-booking-wrap{max-width:480px;margin:0 auto;border:1px solid #e5e5e5;padding:30px}
.emp-booking-form{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.emp-booking-form input{padding:12px 14px;border:1px solid #ddd;font-family:'Inter',sans-serif}

/* Chatbot */
#emp-chatbot{position:fixed;inset-inline-end:24px;bottom:24px;z-index:99999}
#emp-chatbot-toggle{width:54px;height:54px;border-radius:50%;background:#000;color:#fff;border:1px solid #000;font-size:22px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
#emp-chatbot-panel{display:none;flex-direction:column;position:absolute;inset-inline-end:0;bottom:68px;width:320px;max-width:90vw;height:440px;background:#fff;border:1px solid #000;box-shadow:0 10px 30px rgba(0,0,0,.2);overflow:hidden}
#emp-chatbot.open #emp-chatbot-panel{display:flex}
.emp-chatbot-header{background:#000;color:#fff;padding:16px;font-family:'Marcellus',serif;font-size:15px}
#emp-chatbot-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fafafa}
.emp-msg{padding:9px 13px;max-width:85%;font-size:13px;line-height:1.5;font-family:'Inter',sans-serif}
.emp-msg-user{align-self:flex-end;background:#000;color:#fff}
.emp-msg-bot{align-self:flex-start;background:#eee;color:#222}
#emp-chatbot-form{display:flex;border-top:1px solid #eee}
#emp-chatbot-input{flex:1;border:0;padding:13px;outline:none;font-family:'Inter',sans-serif}
#emp-chatbot-form button{border:0;padding:0 16px;font-size:12px}

@media (max-width: 782px){
	.emp-units-filter{grid-template-columns:1fr 1fr}
	.emp-units-filter select,.emp-units-filter input{border-bottom:1px solid #e5e5e5}
	.emp-units-filter button{grid-column:1/-1}
	.emp-hero h1{font-size:32px}
}
