/* EFS Reps — the sidebar contact panel. */

.efs-reps {
	list-style: none;
	margin: 0;
	padding: 0;
}
/* Themes and editor styles both like to put bullets and indents back on a <ul> inside a
   panel, so say it on the items too rather than relying on the parent alone. */
.efs-reps > li { list-style: none; margin: 0; padding: 0; }
.efs-reps > li::marker { content: none; }

.efs-rep + .efs-rep {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--line, #e4e7ec);
}

.efs-rep-who { margin-bottom: 9px; }

.efs-rep-name {
	display: block;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.35;
}

.efs-rep-terr {
	display: block;
	margin-top: 1px;
	font-size: 12.5px;
	color: var(--muted, #667085);
}

.efs-rep-phone {
	display: inline-block;
	margin-top: 3px;
	font-size: 12.5px;
	color: var(--green-dk,#1A5DB5);
	text-decoration: none;
}
.efs-rep-phone:hover { text-decoration: underline; }

.efs-reps-none {
	margin: 0;
	font-size: 13px;
	color: var(--muted, #667085);
}

/* ---- The manufacturer's own rep editor, on the front end ---- */

.efs-myreps {
	margin: 30px 0 8px;
	padding-top: 22px;
	border-top: 1px solid var(--line, #e4e7ec);
}
.efs-myreps h2 { margin: 0 0 6px; font-size: 20px; }

.efs-myreps-intro {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--muted, #667085);
	max-width: 68ch;
	line-height: 1.6;
}

.efs-myreps-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--line, #e4e7ec);
	border-radius: 8px;
	overflow: hidden;
}
.efs-myreps-table th {
	text-align: left;
	padding: 8px 10px;
	background: #f7f8fa;
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--muted, #667085);
	border-bottom: 1px solid var(--line, #e4e7ec);
}
.efs-myreps-table td {
	padding: 6px 8px;
	border-bottom: 1px solid #f0f2f5;
}
.efs-myreps-table tr:last-child td { border-bottom: none; }
.efs-myreps-table input {
	width: 100%;
	padding: 7px 9px;
	border: 1px solid #d0d5dd;
	border-radius: 6px;
	font-size: 13.5px;
	box-sizing: border-box;
}
.efs-myreps-table input:focus {
	outline: none;
	border-color: var(--green,#1F6FD6);
}

.efs-myreps-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 14px 0 0;
}
.efs-myreps-hint { font-size: 12.5px; color: var(--muted, #667085); }

@media (max-width: 640px) {
	.efs-myreps-table thead { display: none; }
	.efs-myreps-table,
	.efs-myreps-table tbody,
	.efs-myreps-table tr,
	.efs-myreps-table td { display: block; width: 100%; }
	.efs-myreps-table tr {
		padding: 8px 0;
		border-bottom: 1px solid var(--line, #e4e7ec);
	}
	.efs-myreps-table td::before {
		content: attr(data-label);
		display: block;
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--muted, #667085);
		margin-bottom: 3px;
	}
}

/* The editor's saved / skipped / denied notices. Until 21 Sept these were styled only by the photos
   plugin's stylesheet, so with that plugin off they showed as plain text. Same colours as the
   "Your listing" panel above it, so the owner's editors read as one set. */
.efs-myreps .efs-mp-notice { padding: 10px 14px; border-radius: 8px; font-size: 14px; margin: 0 0 12px; }
.efs-myreps .efs-mp-saved  { background: #ecfdf3; color: #155c39; }
.efs-myreps .efs-mp-failed { background: #fffaeb; color: #93370d; }
.efs-myreps .efs-mp-denied { background: #fef3f2; color: #b42318; }

/* The contact form, the demand report and a chef's own messages (efs-reps 2.0.0, 21 Sept). */
.efs-req p{margin:0 0 12px}
.efs-req label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.efs-req input[type=text],.efs-req textarea,.efs-req select{width:100%;padding:8px 10px;border:1px solid #d0d5dd;
  border-radius:6px;font-size:14px;box-sizing:border-box;font-family:inherit;background:#fff}
.efs-req textarea{resize:vertical}
.efs-req input:focus,.efs-req textarea:focus,.efs-req select:focus{outline:none;border-color:var(--green,#1F6FD6)}
.efs-req-opt{font-weight:400;color:var(--muted,#667085);font-size:12px}
.efs-req-reps{border:0;padding:0;margin:0 0 12px}
.efs-req-reps legend{font-weight:600;font-size:13px;margin-bottom:4px}
.efs-req-reps label{display:flex;gap:8px;align-items:baseline;font-weight:400;font-size:14px;padding:4px 0}
.efs-req-reps label span,.efs-req-to span{color:var(--muted,#667085);font-size:12px;margin-left:4px}
.efs-req-to,.efs-req-from,.efs-req-note{font-size:13px;color:var(--muted,#667085);line-height:1.5}
.efs-req-to b,.efs-req-from b{color:var(--ink,#101828)}
#contact .efs-mp-notice{padding:10px 14px;border-radius:8px;font-size:13px;margin:0 0 12px;line-height:1.5}
#contact .efs-mp-saved{background:#ecfdf3;color:#155c39}
#contact .efs-mp-failed{background:#fffaeb;color:#93370d}
.efs-mydemand{margin:30px 0 8px;padding-top:22px;border-top:1px solid var(--line,#e4e7ec)}
.efs-mydemand h2{margin:0 0 6px;font-size:20px}
.efs-md-intro{margin:0 0 12px;font-size:13px;color:var(--muted,#667085);max-width:68ch;line-height:1.6}
.efs-md-total{font-size:15px;margin:0 0 14px}
.efs-md-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:700px){.efs-md-cols{grid-template-columns:1fr}}
.efs-md-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--line,#e4e7ec)}
.efs-md-table th{text-align:left;padding:7px 10px;background:#f7f8fa;font-weight:600}
.efs-md-table td{padding:7px 10px;border-top:1px solid var(--line,#e4e7ec)}
.efs-md-table td:last-child,.efs-md-table th:last-child{text-align:right;width:70px}
.efs-myrequests{margin:30px 0 8px;padding-top:22px;border-top:1px solid var(--line,#e4e7ec)}
.efs-myrequests h2{margin:0 0 12px;font-size:20px}
.efs-myreq-list{list-style:none;margin:0;padding:0}
.efs-myreq-list li{padding:12px 0;border-top:1px solid var(--line,#e4e7ec)}
.efs-myreq-list li:first-child{border-top:0}
.efs-myreq-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.efs-myreq-head span,.efs-myreq-head time{font-size:12px;color:var(--muted,#667085)}
.efs-myreq-list p{margin:4px 0 0;font-size:13px;color:var(--body,#344054)}

