.storeflex-customer-requests,
.storeflex-request-access {
	box-sizing: border-box;
	width: 100%;
}

.storeflex-customer-requests {
	margin: 28px 0 0;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid #d8e4df;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(3, 35, 29, .06);
	color: #102b25;
}

.storeflex-customer-requests *,
.storeflex-request-access * {
	box-sizing: border-box;
}

.storeflex-customer-requests__heading {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 20px;
}

.storeflex-customer-requests__heading > span {
	display: grid;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 12px;
	background: #fff1c8;
	color: #875b00;
	font-size: 24px;
	font-weight: 800;
}

.storeflex-customer-requests h2,
.storeflex-customer-requests h3 {
	margin: 0;
	color: #061f1b;
}

.storeflex-customer-requests__heading p {
	margin: 5px 0 0;
	color: #587069;
}

.storeflex-request-history {
	display: grid;
	gap: 12px;
	margin: 0 0 18px;
}

.storeflex-request-state {
	padding: 16px 18px;
	border: 1px solid #dce8e4;
	border-left: 4px solid #e1a91a;
	border-radius: 12px;
	background: #fbfdfc;
}

.storeflex-request-state--approved { border-left-color: #16865b; background: #f0fbf6; }
.storeflex-request-state--rejected { border-left-color: #b3414b; background: #fff5f5; }

.storeflex-request-state header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.storeflex-request-state header strong { color: #092d26; }
.storeflex-request-state header span { color: #6d7f7a; font-size: 13px; }
.storeflex-request-state p { margin: 7px 0 0; overflow-wrap: anywhere; }
.storeflex-request-state__response { padding-top: 10px; border-top: 1px solid rgba(9, 45, 38, .1); }

.storeflex-customer-request-form,
.storeflex-request-verify-form {
	display: grid;
	gap: 14px;
	padding: 20px;
	border: 1px solid #ecd79d;
	border-radius: 14px;
	background: #fffbef;
}

.storeflex-customer-request-form p { margin: 0; color: #596e68; }
.storeflex-customer-request-form label,
.storeflex-request-verify-form label { display: grid; gap: 7px; font-weight: 700; }
.storeflex-customer-request-form textarea,
.storeflex-request-verify-form input {
	width: 100%;
	max-width: 100%;
	border: 1px solid #b9cbc5;
	border-radius: 10px;
	background: #fff;
}

.storeflex-customer-request-form textarea { min-height: 118px; padding: 12px; resize: vertical; }
.storeflex-request-verify-form input { min-height: 46px; padding: 10px 12px; }

.storeflex-customer-request-form__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.storeflex-request-open,
.storeflex-customer-request-form .button,
.storeflex-request-verify-form .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border: 0;
	border-radius: 10px;
	background: #f9c64d;
	color: #071f1a;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 7px 18px rgba(207, 145, 0, .16);
}

.storeflex-request-window-closed {
	margin: 0;
	padding: 13px 15px;
	border-radius: 10px;
	background: #f2f5f4;
	color: #50645f;
}

.storeflex-request-access { max-width: 860px; margin: 0 auto; }
.storeflex-request-verify-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
.storeflex-request-verify-form h2,
.storeflex-request-verify-form > p { grid-column: 1 / -1; margin: 0; }

.woocommerce-account .woocommerce-orders-table__cell-order-actions > a.storeflex_request_cancellation,
.woocommerce-account .woocommerce-orders-table__cell-order-actions > a.storeflex_request_return,
.woocommerce-account .woocommerce-orders-table__cell-order-actions > a.storeflex_request_state {
	display: flex;
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	align-items: center;
	justify-content: center;
	grid-column: 1 / -1;
	width: 100%;
	margin: 8px 0 0;
	white-space: normal;
	overflow-wrap: anywhere;
	text-align: center;
}

@media (max-width: 782px) {
	.storeflex-customer-requests { padding: 18px; border-radius: 14px; }
	.storeflex-request-verify-form { grid-template-columns: 1fr; }
	.storeflex-request-verify-form h2,
	.storeflex-request-verify-form > p { grid-column: auto; }
}

@media (max-width: 480px) {
	.storeflex-customer-requests { margin-top: 20px; padding: 15px; }
	.storeflex-customer-requests__heading { gap: 10px; }
	.storeflex-customer-requests__heading > span { flex-basis: 36px; width: 36px; height: 36px; }
	.storeflex-request-state { padding: 14px; }
	.storeflex-request-state header { align-items: flex-start; flex-direction: column; gap: 4px; }
	.storeflex-customer-request-form,
	.storeflex-request-verify-form { padding: 15px; }
	.storeflex-customer-request-form__actions { align-items: stretch; flex-direction: column; }
	.storeflex-customer-request-form__actions .button { width: 100%; }
	.woocommerce-account .woocommerce-orders-table__cell-order-actions:has(> a.storeflex_request_cancellation),
	.woocommerce-account .woocommerce-orders-table__cell-order-actions:has(> a.storeflex_request_return),
	.woocommerce-account .woocommerce-orders-table__cell-order-actions:has(> a.storeflex_request_state) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 90px));
		justify-content: center;
		gap: 8px;
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions:has(> a[class*="storeflex_request_"])::before {
		grid-column: 1 / -1;
		width: auto;
		float: none;
		text-align: left;
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions:has(> a[class*="storeflex_request_"]) > .view:first-child,
	.woocommerce-account .woocommerce-orders-table__cell-order-actions:has(> a[class*="storeflex_request_"]) > .view:first-child + .storeflex_invoice {
		width: 90px;
		margin: 0;
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions > a.storeflex_request_cancellation,
	.woocommerce-account .woocommerce-orders-table__cell-order-actions > a.storeflex_request_return,
	.woocommerce-account .woocommerce-orders-table__cell-order-actions > a.storeflex_request_state,
	.woocommerce-account .woocommerce-table--order-details a.storeflex_request_state {
		margin-top: 0;
		padding-inline: 6px;
		font-size: 12px;
		line-height: 1.25;
		hyphens: none;
		overflow-wrap: normal;
		word-break: normal;
	}
}
