/**
 * Customer dashboard / estimate view — mobile layout fixes
 * Loaded on customer-facing dashboard pages on all screen sizes.
 */

.contractor-box .name img.contractor-box-img {
	max-width: 80px;
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 50%;
	flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
	html,
	body {
		overflow-x: hidden;
		max-width: 100%;
	}

	/* Symmetric page gutters — avoid left flush / right gap */
	#content.dashboard.customer-dashboard {
		padding: 0 !important;
		margin: 0;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard > section.row-am {
		padding: 16px 0;
		margin: 0;
	}

	#content.dashboard.customer-dashboard > section.row-am > .container {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard > section.row-am > .container > .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100%;
	}

	#content.dashboard.customer-dashboard > section.row-am > .container > .row > .col-md-12 {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100%;
		max-width: 100%;
	}

	#content.dashboard.customer-dashboard .row.no_flex {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100%;
		display: block;
	}

	#content.dashboard.customer-dashboard .dashboard-left {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		padding: 12px 14px !important;
		margin: 0 0 12px !important;
		height: auto !important;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .dashboard-right {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		flex: none !important;
		padding: 0 !important;
		margin: 0 !important;
		min-height: auto;
		border-left: none;
		background: #fff;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .dashboard-right.request-list > .row.no_flex > .col-md-12.p-0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content,
	#content.dashboard.customer-dashboard .request-list {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .row {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}

	/* Prevent wide tables from forcing horizontal scroll */
	#content.dashboard.customer-dashboard table,
	#content.dashboard.customer-dashboard .job-box table,
	#content.dashboard.customer-dashboard .dashboard-box table,
	#content.dashboard.customer-dashboard .request-inbox .tab-content table {
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box table tr,
	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box table td {
		float: none !important;
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box table tr td:first-child,
	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box table tr td:last-child {
		float: none !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box {
		padding: 14px;
		border-radius: 14px;
		width: 100%;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box h3 {
		font-size: 18px !important;
		line-height: 26px !important;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box table tr td {
		font-size: 14px !important;
		line-height: 24px !important;
		word-break: break-word;
		padding: 4px 0 !important;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box table tr td.faq {
		font-size: 14px !important;
		line-height: 22px !important;
		padding: 12px 0 !important;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box .left,
	#content.dashboard.customer-dashboard .customer-dashboard-content .job-box .right {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		display: block;
		clear: both;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .customer-dashboard-content .box-left,
	#content.dashboard.customer-dashboard .customer-dashboard-content .box-right {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: 100%;
		width: 100% !important;
	}

	#content.dashboard.customer-dashboard .request-list .customer-dashboard-content .col-md-5,
	#content.dashboard.customer-dashboard .request-list .customer-dashboard-content .col-md-7,
	#content.dashboard.customer-dashboard .customer-dashboard-content .col-lg-7,
	#content.dashboard.customer-dashboard .customer-dashboard-content .col-lg-12 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#content.dashboard.customer-dashboard .contractor-box {
		padding: 14px;
		margin-bottom: 14px;
		width: 100%;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .contractor-box .name {
		gap: 12px;
		align-items: flex-start;
	}

	#content.dashboard.customer-dashboard .contractor-box .name img.contractor-box-img {
		max-width: 56px !important;
		width: 56px !important;
		height: 56px !important;
	}

	#content.dashboard.customer-dashboard .contractor-box .name h4 {
		font-size: 17px !important;
		line-height: 22px !important;
	}

	#content.dashboard.customer-dashboard .contractor-box .review {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	#content.dashboard.customer-dashboard .contractor-box .review .icon {
		font-size: 13px !important;
		line-height: 20px !important;
	}

	#content.dashboard.customer-dashboard .contractor-box .tag {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	#content.dashboard.customer-dashboard .contractor-box .orange-btn,
	#content.dashboard.customer-dashboard .contractor-box .purple-btn {
		font-size: 16px !important;
		line-height: 42px !important;
		height: 42px !important;
		margin-top: 12px;
		width: 100%;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .chat-right {
		margin-top: 16px;
		max-width: 100%;
		width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#content.dashboard.customer-dashboard .chat-right .box {
		padding: 14px;
		border-radius: 14px;
		width: 100%;
		box-sizing: border-box;
	}

	#content.dashboard.customer-dashboard .chat-right .box h4 {
		font-size: 18px !important;
		line-height: 26px !important;
	}

	#content.dashboard.customer-dashboard .chat-right .box p,
	#content.dashboard.customer-dashboard .append-response p {
		font-size: 14px !important;
		line-height: 22px !important;
		word-break: break-word;
	}

	#content.dashboard.customer-dashboard .append-response img {
		max-width: 100%;
		height: auto;
	}

	#content.dashboard.customer-dashboard #customer-send-response-form .customer-quote-actions {
		flex-direction: column !important;
		gap: 10px !important;
	}

	#content.dashboard.customer-dashboard #customer-send-response-form .customer-quote-submit-btn,
	#content.dashboard.customer-dashboard #customer-send-response-form .customer-quote-approve-wrap {
		width: 100% !important;
	}

	#content.dashboard.customer-dashboard #customer-send-response-form .customer-quote-submit-btn,
	#content.dashboard.customer-dashboard #customer-send-response-form .customer-quote-approve-btn {
		width: 100% !important;
		font-size: 16px !important;
		line-height: 44px !important;
		height: 44px !important;
		padding: 0 16px !important;
	}

	#content.dashboard.customer-dashboard .nav-tabs .nav-item h2 {
		font-size: 20px !important;
		line-height: 26px !important;
	}

	#content.dashboard.customer-dashboard .nav-tabs .nav-link {
		font-size: 14px !important;
		padding: 8px 12px !important;
	}

	#content.dashboard.customer-dashboard .aq-attach-image-list img {
		width: 72px;
		height: 72px;
	}

	/* Footer — center aligned on mobile (customer pages) */
	footer .footer1,
	footer .footer1 .container,
	footer .footer1 .row,
	footer .footer1 .col-md-12 {
		text-align: center !important;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}

	footer .footer1 .container {
		padding-left: 15px !important;
		padding-right: 15px !important;
		box-sizing: border-box;
	}

	footer .footer1 .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
		justify-content: center;
	}

	footer .footer-box,
	footer .footer-box:first-child {
		text-align: center !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin: 0 auto 24px !important;
		padding: 0 !important;
		min-height: auto !important;
		border-right: none !important;
		box-sizing: border-box;
	}

	footer .footer-box h3 {
		text-align: center !important;
	}

	footer .footer-box p {
		text-align: center !important;
	}

	footer .footer-box ul {
		list-style: none;
		padding: 0;
		margin: 0 auto;
		text-align: center !important;
	}

	footer .footer-box ul li {
		text-align: center !important;
		margin-bottom: 8px;
	}

	footer .footer-box .social {
		display: flex !important;
		justify-content: center !important;
		align-items: center;
		flex-wrap: wrap;
		gap: 12px;
		margin-top: 16px;
	}

	footer .footer-box .read-more {
		display: inline-block;
	}
}
